vim介紹,vim顏色顯示和移動光標,vim通常模式下移動光標,通常模式下複製剪切粘貼,進入編輯模式,vim命令模式,vim實踐

vim 介紹

  • vim是vi的升級版本
  • vim帶有顏色顯示
  • yum install -y vim-enhanced 使用這個命令安裝vim
  • vim有三種模式,通常模式,編輯模式,命令模式
  • 按 i 鍵進入編輯模式
  • 命令模式能夠搜索關鍵字,還能夠替換字符

vim顏色顯示和移動光標

  • 同一個文件在不一樣目錄下面,打開有可能不顯示顏色
  • 某些目錄下面的文件,用vim打開會沒有顏色顯示
  • 使用 vim 打開 /etc/passwd 文件
  • 能夠看到內容是彩色的
  • 而後把passwd文件複製一份到/tmp目錄下面
  • 再使用vim打開/tmp/passwd文件就發現內容全是白色的
  • 按兩下 g 就可讓光標從底下直接跳到第一行
  • 而後按 shift+o 就能夠將第一行往下面換一行變成第二行,而且進入了編輯模式
  • 這樣上面就多出了一行空行了
  • 就是這個效果
  • 而後輸入井號 # ,井號#後面隨意加一下字符串
  • 按esc退出編輯模式,而後 :wq 保存退出
  • 而後再使用 vim 打開就發現,# 和後面的字符串都變成了有顏色的字符
  • 而後隨便找一行,輸入#加字符串都是有顏色的,原文內容仍是白色
  • 或者將文件後綴改爲.sh或者別的什麼後綴,都會顯示不一樣的顏色
  • 總之,vim會按照文件的不一樣類型來顯示不一樣的顏色
  • 可使用,vim /etc/vimrc 打開vim的配置文件
  • 這裏能夠修改不少 vim 的配置
  • 如圖,通常模式下的光標移動方法
  • 使用空格鍵也能夠向右移動,還能夠跟數字組合,按5+空格就會向右移動5個字符
  • hjkl也支持數字移動,例如,k+5=向上移動5行,j+5等於向下移動5行,h+5=向左移動5個字符

vim通常模式下移動光標

  • 隨着光標的移動,右下角會顯示座標
  • 50表明第50行,11表明11列,分別表明了縱座標和橫座標
  • 隨着光標位置的變化,這個座標值也會不斷改變
  • shift+g移到最後一行,看縱座標就知道總共有多少行了
  • gg 能夠移動到第一行

通常模式下複製粘貼

  • dd 按兩下d能夠剪切一行
  • 剪切以後,若是想要粘貼,可使用 p 或者 P 就是大小寫的p
  • 小寫的p 能夠把剪切的一行粘貼到光標所在行的下面一行
  • 大寫的p 能夠把剪切的一行粘貼到光標所在行的上面一行
  • 這裏把root行使用dd剪切掉
  • 而後移動到 lp 行
  • 使用 shift+p 也就是大寫p,剪切掉的root行就出如今lp行上面
  • 將光標移動到lp,直接按 p ,能夠看到root行出如今lp行下面
  • 若是想退回這些操做,能夠按 u
  • 不斷的按 u ,退回到最初的狀態,能夠看到下面顯示,已位於最舊的改變,退到不能退的時候就會顯示這個信息
  • 按 u 退回操做最多隻能退回50次
  • 能夠按 數字+dd 一次性剪切數行,好比 5+dd 就能夠一次性撿起5行
  • 可是有一點須要注意,按下5以後須要迅速按下dd,若是速度慢了的話,5就會失效,起做用的就只有dd了,也就是說剪切一行
  • 5跟dd之間的間隔時間必須很短,纔會起做用
  • yy 能夠複製一行,也是使用p來粘貼
  • 數字+yy 也能夠一次性複製幾行,也要注意,按下yy跟數字之間的間隔必定要短,否則會不起做用
  • 使用 u 撤銷以前的操做後,忽然又不想撤銷了,想將狀態退回到撤銷操做前的狀態
  • ctrl+r 就能夠用來退回撤銷
  • 按 x 能夠從光標處向後刪除字符
  • shift+x 能夠從光標處向前刪除字符
  • 使用 x 或者 shift+x 刪除的字符,會存放到剪切板裏面
  • 使用 p 鍵就會把最近x掉的字符粘貼出來
  • 使用小寫p會粘貼在光標處的右邊,大寫p會粘貼在光標處的左邊
  • 也可使用 數字+x 或者 數字+shift+x 來同時剪切數個字符,仍是按鍵之間間隔要快
  • 使用按鍵 v 能夠看到左下角出現 --可視--
  • 在這個模式下,能夠移動光標把想要的文本選中
  • 這裏經過移動光標把兩行半的內容選中了,選中的部分變成灰色
  • 這裏使用了 x 按鍵把以前選中的內容剪切掉了
  • 而後在下一行把剛纔剪切的內容使用 shift+p 粘貼在光標處的左邊
  • 總結,使用 v 能夠方便的選中一部份內容進行剪切複製粘貼的操做

進入編輯模式

  • 按 i 進入編輯模式,大寫小寫的 i 均可以進入編輯模式
  • 區別是,無論光標在任何位置,使用大寫i的話,光標都會跳到所在行的行首
  • 而小寫的 i 在進入編輯模式的時候只會停留在當前位置不動
  • 如圖,還可使用 o 進入編輯模式
  • 跟 i 的區別是,o進入編輯模式的時候,會在光標所在行下一行開始輸入
  • 就是光標所在行的下面會多出一行空行
  • 如圖,還可使用大寫的 o ,跟小寫的 o 的區別是,大寫 o 會出如今光標所在行的上面一行
  • 也就是說光標所在行的上面會多出一行空行
  • 如圖,如今光標停留的位置是 o
  • 使用 a 進入編輯模式,光標就會出如今進入前那個位置的後面一個位置
  • 進入編輯模式前的位置是 o ,那麼使用a進入編輯模式後的位置就是 g
  • 如圖這是光標當前位置
  • 使用大寫 a 以後,光標就會跳到光標所在行的行尾,並進入編輯模式

vim 命令模式

  • 如圖,搜索關鍵字
  • 使用 /+關鍵字 就能夠在文本內容裏面搜索關鍵字,文本內的關鍵字會被高亮顯示,這裏是黃色
  • 若是搜索出來多個結果,一頁以內顯示不完,可使用 n 往下找到下面的搜索結果
  • 使用 n 不斷往下查找,到達最底部,左下角會有一行文字提示,已經查找到最底部
  • 如今所在的位置是底部,若是想網上查找,可使用 shift+n
  • shift+n 就能夠往上面查找搜索結果
  • 搜索還可使用問號 ? 來搜索
  • 如圖 ?for 就能夠搜索 for 關鍵字,黃色的是搜索結果
  • 若是用 ? 來搜索,那麼使用 n 的話就不是向下查找,而是向上查找,跟 / 的方向相反
  • 如圖,使用冒號 : 進入命令模式,而後輸入指令
  • 1,100s/dnsmasq/aminglinux/g 這個命令能夠把 1到100行 之間的全部 dnsmasq 替換爲 aminglinux
  • 關於這個命令格式,首先, 1,100 就表明替換範圍是 第1行到第100行之間
  • s 就表明使用的是替換功能
  • /dnsmasq/aminglinux/ 這三條 / 之間有兩個空間,第一個空間內的字符,會被第二個空間內的字符替換
  • g 表明全局替換,好比有一行,存在兩個dnsmasq,若是不加g參數,那麼就只替換第一個,後面的不會被替換
  • 使用了 g 參數,那麼每一行無論有幾個dnsmasq,都會所有被替換掉,通常使用都是會加的
  • 若是不想限制範圍,而是全文都替換的話
  • 可使用 1,$s/dnsmasq/aminglinux/g 這樣就能夠把全文的dnsmasq都替換爲aminglinux
  • 1,$ 就表明範圍是全文,$表明最後一行,1表明第一行,這裏就表明從第1行到最後1行,也就是全文
  • s 表明替換功能
  • /dnsmasq/aminglinux/ 表明把 dnsmasq 替換爲 aminglinux
  • g 參數全局替換,若是沒有g,那麼就只會替換每一行的第一個dnsmasq,後面的不會替換
  • 若是替換對象是一個目錄路徑,/etc/aminglinux
  • 原來的命令語句 / / / 的斜槓與目錄的斜槓寫在一塊兒,系統會不能分辨哪一個斜槓是命令的,哪一個是字符串的
  • 就會出現錯誤,沒法執行語句
  • 這種時候,有兩種方法解決,一種的使用轉義字符,第二種是使用井號 #
  • 轉義字符解決方案:1,$//etc/hosts/aminglinux/g
  • 這種方案看起來很很差理解,令人難以分辨清楚結構,不推薦使用
  • 通常使用第二種方法,也就是說井號 #
  • 1,$#/etc/hosts#aminglinux#g 原來的/用#來替換了,功能是同樣的,比第一種方法好看一些
  • 也可使用 @ 符號代替 # ,效果都同樣
  • :wq 就是保存退出,若是一個文件是隻讀的,root用戶也可使用 :wq! 強制保存退出,加 ! 就是強制
  • 不想保存的話,也能夠強制退出,使用 :q! 就能夠強制退出
  • 使用 :set nu 可使每一行都顯示行號
  • 若是不想顯示行號了,可使用 :set nonu 這樣就把顯示行號取消了
  • 搜索關鍵字之後,關鍵之會被高亮顯示,如前文的顯示爲黃色背景的文字
  • 若是想取消掉搜索關鍵字的高亮顯示,可使用 :nohl 這樣高亮顯示就被取消了
  • 也可使用 :x 保存退出
  • 跟 :wq 的區別,若是打開文件並修改以後,使用 :wq 和使用 :x 的效果是同樣的
  • 若是打開文件,只是查看,可是並無修改
  • 這個時候使用 :wq 保存退出的話,文件的mtime會被修改成保存退出這一刻的時間
  • 若是使用 :x 保存退出的話,文件的時間就不會被修改

vim 實踐

  • 能夠隨意模擬複製一個文件到tmp目錄下面
  • 根據上圖的步驟操做,反覆練習,能夠熟悉vim的操做
相關文章
相關標籤/搜索