如何高效使用vim

Vim 是一款文本編輯器模捂,被稱為編輯器之神,非常適合在shell 中編輯代碼贤壁,熟練的使用Vim悼枢,可以讓你高效的編寫代碼。

Vim 是Vi 的增強版脾拆,所有的類Unix 系統(tǒng)馒索,都自帶這兩個工具,這兩個工具中使用較多的也是Vim名船。

Vim 中有很多命令绰上,本文并不打算介紹所有的命令,只介紹常用實用的命令渠驼,熟練使用這些命令蜈块,就可以快速的編寫代碼。

1迷扇,Vim 的三種模式

vim 中有三種模式百揭,分別是普通模式編輯模式蜓席,可視模式信峻。

其實,還有一種模式是命令模式瓮床,這里我將命令模式 歸入到了普通模式中盹舞,并沒有單獨將命令模式拿出來。其實命令模式 就是在普通模式下輸入一個冒號:加一個命令隘庄。

其中可視模式 又分為行可視列可視踢步,如下:

vim 模式
   ├── 普通模式
   ├── 編輯模式:可向文件中輸入內(nèi)容
   └── 可視模式
          ├── 行可視:按行選中某塊區(qū)域
          └── 列可視:按列選中某塊區(qū)域  

它們之間的轉(zhuǎn)換如下所示:

image
  • vim + 文件名 打開文件進入普通模式
  • 普通模式 輸入ioa 進入編輯模式
  • 普通模式 輸入Ctrl + v 進入 列可視
  • 普通模式 輸入Shift +v 進入 行可視
  • 其它模式輸入Esc 返回普通模式

下面介紹每個模式支持的常用命令

2丑掺,普通模式

在普通模式下获印,可以使用下面這些命令,普通模式的命令最多街州。

2.1兼丰,如何進入編輯模式

使用以下命令進入編輯模式

命令 含義
i 在當前光標前位置進入編輯模式
a 在當前光標后位置進入編輯模式
o 在當前光標下一行進入編輯模式

2.2玻孟,如何移動光標

使用以下命令移動光標:

命令 含義
k方向鍵↑ 向上移動,建議使用k
j方向鍵↓ 向下移動鳍征,建議使用j
h方向鍵← 向左移動黍翎,建議使用h
l方向鍵→ 向右移動,建議使用l
^ 移動到當前行第一個可見字符
0或者Home鍵 移動到當前行開頭
$或者End鍵 移動到當前行最后
% 在兩個匹配的{}[]()<>之間移動
w 向后移動一個單詞
b 向前移動一個單詞
gg 移動到當前文件的第一行
G 移動到當前文件的最后一行
M 移動到當前文件的中間一行
Ctrl + o 移動到上一次編輯的地方
:+數(shù)字N 輸入一個:艳丛,再輸入一個數(shù)字匣掸,按回車,快速跳到某一行

2.3氮双,如何刪除/復制/粘貼

使用以下命令刪除/復制/粘貼

命令 含義
dd 刪除光標所在的行碰酝,并且內(nèi)容在剪切板
yy 復制光標所在的行,并且內(nèi)容在剪切板
dw 刪除光標所在的單詞戴差,并且內(nèi)容在剪切板
x 刪除光標所在的一個字符送爸,并且內(nèi)容在剪切板
D 刪除光標到行末尾所有的內(nèi)容,并且內(nèi)容在剪切板
p 粘貼剪切板的內(nèi)容到光標處

2.4暖释,如何進行搜索

使用以下命令在當前文件中搜索

命令 含義
* 光標停留在某個字符串時碱璃,*可以在當前文件中搜索這個字符串
/+字符串+回車 在當前頁面搜索這個字符串
n 鎖定到下一個匹配的字符串
N 鎖定到上一個匹配的字符串
:set hlsearch 讓所有匹配的字符串高亮
:set noh 取消字符串高亮

2.5,如何進行分屏

vim 分屏

命令 含義
:vsp + 文件名 橫向分屏
:sp + 文件名 豎向分屏
Ctrl + ww 鎖定到下一個屏
退出命令 使用退出命令饭入,退出當前屏

2.6嵌器,如何退出文件

退出命令如下:

命令 含義
:wq 保存退出當前文件
:w 保存當前文件
:q 退出當前文件
:qa 退出打開的所有文件
:q! 強制退出(不保存)

2.7,如何進入可視模式

進入可視模式

命令 含義
Shift + v 進入行可視模式
Ctrl + v 進入列可視模式

2.8谐丢,其它

命令 含義
u 撤銷上一次操作
Ctrl + r 反撤銷操作
~ 英文字符大小寫轉(zhuǎn)換
:%s/x/y/g 將當前文件中所有的x換成y
數(shù)字 + == 用于格式化代碼爽航,比如先輸入一個999,再輸入==乾忱,從當前行開始讥珍,以下999 行代碼都會格式化
:set nu 顯示行號
:set nonu 關閉行號

3,編輯模式

在編輯模式下可以使用下面命令窄瘟。

命令 含義
Ctrl + n 搜素下一個變量名衷佃,函數(shù)自動補全
Ctrl + p 搜索上一個變量名,函數(shù)自動補全
Shift + Insert 在當前光標插入系統(tǒng)剪切板的內(nèi)容

4蹄葱,行可視模式

行可視模式下可以使用下面命令氏义。

命令 含義
k方向鍵↑ 向上選中多行
j方向鍵↓ 向下選中多行
d 刪除選中的區(qū)域內(nèi)容,并且內(nèi)容在剪切板
y 復制選中的區(qū)域內(nèi)容图云,并且內(nèi)容在剪切板
p 粘貼剪切板中的內(nèi)容
> 將選中的區(qū)域向右縮進
< 將選中的區(qū)域向左縮進

5惯悠,列可視模式

列可視模式下可以使用下面命令。

命令 含義
k方向鍵↑ 向上選中多行
j方向鍵↓ 向下選中多行
h方向鍵← 向左選中多列
l方向鍵→ 向右選中多列
d 刪除選中的區(qū)域內(nèi)容竣况,并且內(nèi)容在剪切板
y 復制選中的區(qū)域內(nèi)容克婶,并且內(nèi)容在剪切板
p 粘貼剪切板中的內(nèi)容
> 將選中的區(qū)域向右縮進
< 列可視模式下不支持

以上講到的命令需要多使用才能熟練,所謂孰能生巧。

如果你想配置Vim 插件 的話情萤,建議不需要配置多么花哨復雜的插件鸭蛙,簡單實用就好。

注意筋岛,在使用Vim 的時候娶视,鼠標基本是沒有什么用的,所以這時可以忘記鼠標的存在泉蝌,只有鍵盤歇万。

另外揩晴,vimdiff 命令可以對比多個文件的不同勋陪,如下所示,打開兩個文件(也可打開多個文件):

vimdiff 1.c 2.c
image

這里還有一個Vim 小游戲 ------《Vim 大冒險》硫兰,很有創(chuàng)意的一個小游戲诅愚,可以鍛煉使用Vim,感興趣的可以玩一下劫映。

6违孝,Vim 命令速查表

最后附上兩張Vim 命令速查表,自行選擇泳赋,各取所需雌桑。

圖一:

[圖片上傳失敗...(image-3bd0f5-1586688546775)]

圖二: PDF版在這里

image

(完祖今。)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末校坑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子千诬,更是在濱河造成了極大的恐慌耍目,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件徐绑,死亡現(xiàn)場離奇詭異邪驮,居然都是意外死亡,警方通過查閱死者的電腦和手機傲茄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門毅访,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盘榨,你說我怎么就攤上這事俺抽。” “怎么了较曼?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵磷斧,是天一觀的道長。 經(jīng)常有香客問我,道長弛饭,這世上最難降的妖魔是什么冕末? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮侣颂,結(jié)果婚禮上档桃,老公的妹妹穿的比我還像新娘。我一直安慰自己憔晒,他們只是感情好藻肄,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拒担,像睡著了一般嘹屯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上从撼,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天州弟,我揣著相機與錄音,去河邊找鬼低零。 笑死婆翔,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的掏婶。 我是一名探鬼主播啃奴,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼雄妥!你這毒婦竟也來了最蕾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤茎芭,失蹤者是張志新(化名)和其女友劉穎揖膜,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梅桩,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡壹粟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了宿百。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趁仙。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖垦页,靈堂內(nèi)的尸體忽然破棺而出雀费,到底是詐尸還是另有隱情,我是刑警寧澤痊焊,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布盏袄,位于F島的核電站忿峻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏辕羽。R本人自食惡果不足惜逛尚,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刁愿。 院中可真熱鬧绰寞,春花似錦、人聲如沸铣口。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脑题。三九已至件缸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旭蠕,已是汗流浹背停团。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工旷坦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留掏熬,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓秒梅,卻偏偏與公主長得像旗芬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子捆蜀,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1. 關于Vim vim是我最喜歡的編輯器疮丛,也是linux下第二強大的編輯器。 雖然emacs是公認的世界第一辆它,我...
    Dyworldhua閱讀 1,362評論 0 2
  • 曾經(jīng)使用了幾年多的Vim誊薄,手冊也翻過一遍。雖然現(xiàn)在不怎么用vim了锰茉,曾經(jīng)的筆記還是貼出來呢蔫,與喜歡vim的朋友分享。...
    Sylar丶閱讀 877評論 0 0
  • 自我總結(jié)篇: 對文件的操作技巧: vim文件一個有三種狀態(tài):命令(瀏覽/輸入命令轉(zhuǎn)變末行模式)飒筑,文本(添加/編輯/...
    小知大知閱讀 790評論 0 0
  • vim一直是程序員之間比較有爭議的一個話題片吊。有人認為她是編輯器之神,有人則認為她古老過時协屡,遠遠不如IDE俏脊,或是以當...
    擦柱而出閱讀 1,589評論 0 41
  • Vim幾句話介紹Vim是Unix系統(tǒng)上的文本編輯軟件(你該不會不知道什么是文本編輯軟件吧TП獭)不跟,在windows上也...
    何必遠方閱讀 3,125評論 0 3