VIM常用技巧總結
VIM實用技巧總結
????其實早就想整這篇總結了,一直沒有時間寫,鑒於李老板的強烈要求,今天更新上來。
????vim作為linux環境下一個非常強大的工具,其實是非常實用了,尤其是對於代碼量龐大的項目來講,簡直就是福音。無法想象在一個集成IDE裏面添加幾萬甚至百萬個文件個文件時,你還能指望IDE能夠快速的進行代碼的快速瀏覽跳轉,但是VIM就可以輕松做到。
????在默認安裝的VIM中,其實沒有帶多少插件,但其自帶的基本功能,也能滿足普通的文本編輯需求。但是如果是經常使用VIM來查看閱讀代碼,那必須對默認的VIM進行一些強化,才能使其用起來更加順手和方便。
????本文所描述的一些使用技巧,很多都是在各種VIM插件的基礎上進行操作的,如果沒有這些操作的支持,你可能無法在你的機器上面進行這些操作。不過沒有關系,我已經把自己的VIM配置上傳到github上,你可以直接下載下來使用,也可以對其進行修改以適配你自己的使用習慣。下面我分兩部分來介紹vim的基本操作,當前這裏不會介紹VIM的所有功能,只是介紹一些平常經常使用的基本操作。
1. VIM基本功能
????其實VIM本身就已經自帶的非常多的功能,這些操作基本是純鍵盤操作,對應習慣了Window環境的人來說,其實是很難習慣的。
1.1 vim常用模式
- 正常(normal)模式:默認的編輯模式;下面如果不加特殊說明,提到的命令都直接在正常模式下輸入“:”,任何其它模式中都可以通過鍵盤上的 Esc 鍵回到正常模式。
- 命令(command)模式:用於執行較長、較復雜的命令;在正常模式下輸入“:”(一般命令)、“/”(正向搜索)或“?”(反向搜索)即可進入該模式;命令模式下的命令要輸入回車鍵(Enter)才算完成。
- 插入(insert)模式:輸入文本時使用;在正常模式下鍵入“i”(insert)或“a”(append)即可進入插入模式(也有另外一些命令,如“c”,也可以進入插入模式,但這些命令有其它的作用)。
- 可視(visual)模式:用於選定文本塊;可以在正常模式下輸入“v”(小寫)來按字符選定,輸入“V”(大寫)來按行選定,或輸入“Ctrl-V”來按方塊選定。
1.2 基本移動
下面幾個命令需要在正常模式執行
- h:光標左移一個位置
- j:光標右移一個位置
- k:光標上移一個位置
- l:光標下稱一個位置
- gg:光標跳轉到文件首行
- G:光標跳轉文件最後一行
- **_**:光標移到當前行第一個非空字符位置
- 行號+gg:快速移動到指定行號
- 數字+h/j/k/l:快速將光標向左、下、上、右移動指定個位置
1.3 窗口操作
窗口分割
- :vsp:橫向窗口分割
- :sp:縱向窗口分割
- ctrl+w+h:將光標切換到左邊窗口
- ctrl+w+j:將光標切換到下邊窗口
- ctrl+w+k:將光標切換到上邊窗口
- ctrl+w+l:將光標切換到右邊窗口
- ctrl+w:在已打開窗口中循環切換光標
調整窗口大小
- :resize +3:縱向擴大窗口大小
- :resize -3:縱向減小窗口大小
- :vertical resize +3:橫向擴大窗口大小
- :vertical resize -3:橫向減小窗口大小
1.4 文件編輯
normal模式下,撤下 i 鍵進入insert模式,此時可以直接編輯當前文件。
normal模式下的幾個基本文件編輯操作:
- y:復制當前光標所在處字符
- yy:復制當前光標所在行
- p:在當前位置粘貼上一次復制的內容
先按下 v 鍵進入view模式,通過移動h/j/k/l鍵選擇要復制的內容,再按下 y 鍵可復制單詞或整段文件,然後移動光標至目標位置,再使用 p 進行粘貼。
1.5 文件瀏覽
- :Explore或:E:打開VIM默認的文件瀏覽器
1.6 VIM快捷鍵大俠
網上搜集的幾個VIM常用快捷鍵匯總圖,非常實用。
2. VIM私人定制
????前面介紹了VIM的一些常用的基本的操作,其實這些只是VIM的基本入門操作,它還有很多其他的操作和功能,這裏不詳細介紹,有需要的朋友,可以直接 :help 查看VIM的幫忙以學習更多的操作方法。
????下面開始我們的定制部分,這一部分主要介紹一些常用的VIM插件。沒有安裝插件的VIM已經為我們提供了相當多的功能,但是有些功能用起來非常難受。好在大牛們針對VIM開發了很多實用插件,這大大簡化了VIM的操作。下面主要介紹一些平常開發中常用的插件的使用方法。
我的VIM配置:https://github.com/tshfut/tSuai_vim
2.1 主題定制
????VIM默認提供了很多主題,但我獨愛Visual studio的默認淺色主題,而這個主題VIM裏面卻沒有,無賴只能自己動手定制,只需要找一個已經存在的vim主題,copy一份放到.vim/colors目錄下,然後根據裏面的配置選項,設置自己喜歡的顏色即可。
配置好後,直接在.vimrc文件裏面將自己的VIM主題設置為默認即可:
colorscheme Porsche
colorscheme space-vim-dark
????我自己的經常使用的vim主題主要有兩個,一個淺色(類似Visual Studio),一個深色(space-vim-dark),都放下github上面了.
地址:https://github.com/tshfut/Porsche
????上兩個配色截圖:
2.1 文件瀏覽
????前面介紹了,使用 :Explore 命令可以查看文件目錄樹,但仍然覺得不方便,可以使用NERDTree插件來替代,NERDTree提供了非常好的文件目錄可視化操作,支持文件展開、文件夾/文件區分標識等。
????相關的配置如下:
"let g:NERDTree_title=‘NERD Tree‘
"let g:winManagerWindowLayout=‘NERDTree|TagList,Tarbar‘
nmapmt :if IsWinManagerVisible() WMToggle else WMToggle :q endif "
nmap wm :NERDTreeToggle
autocmd vimenter * NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") ) | q | endiffunction! NERDTree_Start()
exec ‘NERDTree‘
endfunctionfunction! NERDTree_IsValid()
return 1
endfunction
????使用效果如下圖所示:
2.1 移動擴展
2.1 窗口大小
2.1 文件切換
2.1 高亮文本
2.1 代碼跳轉
2.1 文件瀏覽
2.1 文件瀏覽
參考資料:
- https://www.cnblogs.com/chenlogin/p/6245958.html
VIM常用技巧總結