據(jù)說(shuō)是人類史上最好的文本編輯器——VIM


作為一個(gè)VIM初學(xué)者,vim給我的感覺就是命令多而且活,比bash還要難掌握。正所謂”工欲善其事,必先利其器“,且學(xué)習(xí)vim也是后期工程化的需要,所以它是必須跨過(guò)的大山,不會(huì)用命令的程序員不是好程序員。經(jīng)過(guò)基礎(chǔ)和進(jìn)階的學(xué)習(xí)我做了一些總結(jié)。

Vim the Six Billion Dollar editor
Better, Stronger, Faster

傳說(shuō)中的學(xué)習(xí)vim四步驟:

  • 存活
  • 感覺良好
  • 覺得更好,更強(qiáng),更快
  • 使用VIM的超能力 :)

啟動(dòng)vim


在命令行窗口輸入:
vim 進(jìn)入vim
vim xxx 打開vim并創(chuàng)建名為xxx的文件

退出vim方式


  • 在插入模式下,先按ESE到normal模式:

    • :wq保存退出
    • :q直接退出
    • !q強(qiáng)制退出
  • 在normal模式下,直接按功能鍵:

  • X僅僅保存

  • ZZ 不需要輸入:直接保存退出

vim的模式


  • 輸入i進(jìn)入插入模式
  • ESE退出當(dāng)前模式,進(jìn)入normal模式

移動(dòng)命令


H J K L   --左、下、上、右
G    --跳轉(zhuǎn)到最后一行
50G --移動(dòng)到50行
gg   --跳轉(zhuǎn)到第一行
w    --跳轉(zhuǎn)到下一個(gè)單詞開頭
e     --下一個(gè)單詞結(jié)尾
0     --數(shù)字0,到行頭
$     --到行尾
^      --到第一個(gè)不是blank字符的位置(所謂blank就是指tab、空格、換行、回車等)
g     --到本行最后一個(gè)不是blank字符的位置

編輯命令


i    --在光標(biāo)前插入文本
A   --在一行后添加文本
dw  --從光標(biāo)處刪除到下一個(gè)單詞起始處,不包括第一個(gè)字符
de   --從當(dāng)前位置到單詞末尾,包括最后一個(gè)字符
dd   --刪除本行,在功能鍵前加數(shù)字可刪除多行,例如:5dd 刪除5行
r      --替換當(dāng)前位置的字符
O     --在本行的上方插入新的一行
o      --小寫字母,在本行下方插入新的一行
a       --在光標(biāo)所在位置之后插入文本
A       --在光標(biāo)所在行位置之后插入文本
y        --復(fù)制
p        --粘貼,可搭配數(shù)字使用,例如3p表示粘貼文本3次

開掛命令


  • 100iabc[ESE] 界面會(huì)打出100個(gè)abc
  • .可重復(fù)上一次命令,例如100”abc“.表示重復(fù)再打100個(gè)abc
  • 3. 重復(fù)三次abc
  • ctrl-w窗口調(diào)轉(zhuǎn)
  • ctrl-D查看可能補(bǔ)全的結(jié)果
  • Tab使用當(dāng)前補(bǔ)全
  • % 匹配括號(hào)移動(dòng),包括(、{、[,需要先把光標(biāo)移到括號(hào)上
  • ra 將當(dāng)前字符替換為a,當(dāng)期字符即光標(biāo)所在字符。
  • s/old/new/ 用old替換new,替換當(dāng)前行的第一個(gè)匹配
  • s/old/new/g 用old替換new,替換當(dāng)前行的所有匹配
  • v可視化選擇,可搭配p、y命令實(shí)現(xiàn)自定義內(nèi)容拷貝粘貼
  • gU變大寫
  • gu變小寫
  • :split或:new 打開一個(gè)新窗口,光標(biāo)停在頂層的窗口上
  • :split file或:new file 用新窗口打開文件
  • split打開的窗口都是橫向的,使用vsplit可以縱向打開窗口。

結(jié)束語(yǔ)


  • 注意大小寫。有些命令是在normal下輸入的,我們把它叫做功能鍵。有一些是在插入模式下輸入的,所有帶:的命令都在插入模式輸入。注意區(qū)別。
  • 上面是我學(xué)習(xí)的一些常用的命令,其中有些命令是可以搭配組合的,需要自己去嘗試,可以在shell輸入vim tutor,學(xué)習(xí)官方的文檔。vim和bash一樣都需要熟能生巧,學(xué)完這兩個(gè)以后可以開始做很多事了。下一篇再來(lái)說(shuō)說(shuō),我用它們做了一些什么有意思的事兒。
  • 以上如果有什么錯(cuò)誤,歡迎留言。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 曾經(jīng)在思科的工廠測(cè)試系統(tǒng)`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超過(guò)2年半,現(xiàn)在...
    戈多在地獄閱讀 1,977評(píng)論 1 13
  • 目錄(?)[-] 關(guān)于Vim 1 Vim的幾種模式 啟動(dòng)Vim 文檔操作 光標(biāo)的移動(dòng) 1 基本移動(dòng) 2 翻屏 3 ...
    SunnyLeong閱讀 9,005評(píng)論 0 32
  • : 退出命令是,按ESC鍵 跳到命令模式,然后輸入:q(不保存)或者:wq(保存) 退出。 更多退出命令: :w ...
    陳云峰閱讀 59,197評(píng)論 0 24
  • Web web.xml Struts2 struts.xml .validation.xml Hibernate ...
    Ivon_Ma閱讀 775評(píng)論 0 50
  • 在美國(guó)的最北邊巴羅小鎮(zhèn),北極圈以北,530公里北冰洋岸邊,在那的大街上都可以看到北極熊,每年的5.11到8.1這8...
    騷青小王子閱讀 350評(píng)論 0 0

友情鏈接更多精彩內(nèi)容