2018.02.10更新
本文主要對(duì)博主多年的vim使用經(jīng)驗(yàn)做下總結(jié),主要介紹博主工作中最常用到的一些VIM使用技巧。
首先有個(gè)“入門秘訣”博主覺得有必要提下:
- 要想比較快速地入門VIM及真正地在日常工作中使用起來,最好是能夠在周圍找到一個(gè)已經(jīng)把VIM當(dāng)成主要編輯器的同事,這樣就有一個(gè)活人Demo可以參考,可以了解到VIM具體可以做到什么程度(有句話這樣說“人們沒見到汽車前總會(huì)以為馬車已經(jīng)跑得很快了”)。
博主就很有幸在第一份工作中遇上這么一個(gè)demo同事,不然可能到現(xiàn)在還只是停留在“覺得vim好像很牛逼的樣子,自己卻總是沒辦法好好地,長(zhǎng)久地把它用起來”這樣的階段。
以下正文。
VIM 簡(jiǎn)介
VIM 是一款跨平臺(tái),開源的文本編輯器,其主要特點(diǎn)有:
-
高效無打斷的編輯模式
使用VIM時(shí),依靠各類快捷鍵可以基本上擺脫鼠標(biāo)完全使用鍵盤對(duì)文件進(jìn)行編輯,從而避免編碼過程中思路因頻繁移動(dòng)鼠標(biāo)之類的行為被打斷。 -
極強(qiáng)的擴(kuò)展性
vim支持ctags、taglist等各種可以幫助提升編輯效率的插件與主題,另外VIM的配置功能也十分強(qiáng)大,通過配置_vimrc文件及使用各類插件可以把VIM DIY成最適合自己的編輯器。 - 其他
- VIM還具有很多其他優(yōu)點(diǎn),更具體介紹可參看:
- VIM最新版本可到這里下載:
VIM
如何快速入門
Tips:VIM 的基本操作命令快速入門有幾個(gè)比較好的途徑:
- 花20分鐘時(shí)間看完本文,然后去實(shí)踐。
- vimtutor --> 在Linux terminal輸入vimtutor可以進(jìn)入一個(gè)官方的入門教程,花半個(gè)小時(shí)左右過一遍即可,然后去實(shí)踐。
- VIM adventures --> 這是一個(gè)在線的vim小游戲,寓教于樂,每通過一個(gè)挑戰(zhàn)基本都可以解鎖一個(gè)VIM技能,然后去實(shí)踐。
基本操作
VIM支持多種不同的工作模式,這邊介紹常見的3種模式:普通模式、插入模式、命令模式。
普通模式
第一打開VIM時(shí),模式進(jìn)入的是普通模式,VIM的大部分編輯操作都是在該模式下進(jìn)行的,該模式支持常見快捷鍵有:
- hjkl -> 右下上左
- i -> 在當(dāng)前位置前插入
- a -> 在當(dāng)前位置后插入
- o -> 在但前位置下方插入
- O -> 在當(dāng)前位置上方插入
- dd -> 刪除行 (可通過與數(shù)字組合來執(zhí)行多行操作,如:3dd可以刪除3行)
- x -> 刪除字符
- r -> 替換字符
- yy -> 復(fù)制
- p -> 黏貼
- [num] +G -> 跳至[num]行(gg = 跳至文件開頭, G = 跳至文件結(jié)尾)
- { -> 跳至前一個(gè)空行
- } -> 跳至后一個(gè)空行
- ctrl + o -> 跳至前一次編輯的地方
- ctrl + i -> 回跳至后一次編輯的地方(相對(duì)ctrl + o)
- v -> 批量選擇
- ctrl + v -> 批量塊選擇
- shift + v -> 批量行選擇
插入模式
- 在普通模式下按任何插入命令均可進(jìn)入插入模式(如:i,a,o,O)
- 在插入模式下按ESC鍵可以退回到普通模式
命令模式
在普通模式下通過shift + :可以進(jìn)入命令模式,命令模式的常見操作如下:
- :w -> 保存
- :q -> 退出
- :wq! -> 強(qiáng)制保存并退出
- :help -> 幫助手冊(cè)
- :%s/x/y/g -> 替換(將全文的x替換成y)
- :/ + [內(nèi)容] -> 查找命令(輸入/后輸入要查找的關(guān)鍵字,用n/N可以在找到的關(guān)鍵字之間進(jìn)行跳轉(zhuǎn))
- :!+ [命令] -> 運(yùn)行外部命令(比如make)
關(guān)于以上命令的更具體的操作可以使用:help + 命令方式查詢,
常用插件
這里介紹幾個(gè)常用插件(默認(rèn)的的快捷鍵可參看插件對(duì)應(yīng)的說明文檔)。
- Vundle
- 插件管理工具,用來更新vim插件十分方便。只需要一個(gè)合適的vimrc + 這個(gè)插件即可完成個(gè)人VIM環(huán)境的配置。
- 下載方法: git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- CTAG
- 提供函數(shù)/變量調(diào)轉(zhuǎn)功能(使用ctags -R 生成文件關(guān)聯(lián),使用ctrl + ], 跳轉(zhuǎn)至函數(shù)/變量定義處)
- tagList
- 函數(shù)名列表(使用tt開關(guān)taglist)
- wmanager
- 提供文件瀏覽窗口(使用wm 開關(guān)wmanager)
- color theme
- 顏色主題,比較經(jīng)典的如monokai,這里用的是jellybeans.
- markdown
- 用于markdown語(yǔ)法高亮
- doxygen
- 用于自動(dòng)生成doxygen注釋
這些插件基本上都能在vim官網(wǎng)找到。
VIM腳本語(yǔ)法
要有效地利用vim配置文件,可以去了解下vim腳本的編寫方式:learn VIM script,通過VIM腳本語(yǔ)言可以自己編寫VIM插件。
如何快速配置VIM
快速配置VIM只需要三個(gè)步驟,這里以Linux為例:
- 拷貝.vimrc文件到~/.vimrc (博主的vimrc)
- git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- 打開VIM,執(zhí)行PluginInstall,等所有插件都下載完畢之后,重新打開VIM即可得到一個(gè)看起來好牛逼的VIM環(huán)境了。
效果圖
這里附上配置后的VIM效果圖供參考:

vim for c