VIM經常使用命令總結

VIM經常使用命令總結,以備之後使用時查詢。chrome

 

1、遊標移動shell

按鍵 說明
h
l 右(小寫L)
j
k
w 移動到下一個單詞
b 移動到上一個單詞

 

2、進入插入模式vim

命令 說明
i 在當前光標處進行編輯
I 在行首插入
A 在行末插入
a 在光標後插入編輯
o 在當前行後插入一個新行
O 在當前行前插入一個新行
cw 替換從光標所在位置後到一個單詞結尾的字符

3、退出vim

1.命令行模式下退出vim

從普通模式輸入:進入命令行模式,輸入wq回車,保存並退出編輯瀏覽器

如下爲其它幾種退出方式:tcp

命令 說明
:q! 強制退出,不保存
:q 退出
:wq! 強制保存並退出
:w <文件路徑> 另存爲
:saveas 文件路徑 另存爲
:x 保存並退出
:wq 保存並退出

2.普通模式下退出vim

普通模式下輸入Shift+zz便可保存退出vimide

4、刪除文本

1.普通模式下刪除vim文本信息

進入普通模式,使用下列命令能夠進行文本快速刪除:oop

命令 說明
x 刪除遊標所在的字符
X 刪除遊標所在前一個字符
Delete x
dd 刪除整行
dw 刪除一個單詞(不適用中文)
d$D 刪除至行尾
d^ 刪除至行首
dG 刪除到文檔結尾處
d1G 刪至文檔首部

除此以外,你還能夠在命令以前加上數字,表示一次刪除多行,如:測試

2dd表示一次刪除2行加密

5、vim重複命令

1.重複執行上次命令

在普通模式下.(小數點)表示重複上一次的命令操做spa

拷貝測試文件到本地目錄

$ cp /etc/protocols .

打開文件進行編輯

$ vim protocols

普通模式下輸入x,刪除第一個字符,輸入.(小數點)會再次刪除一個字符,除此以外也能夠重複dd的刪除操做

2.執行指定次數相同的命令

進入普通模式輸入N<command>,N表示重複後面的次數,下面來練習如下:

打開文件文件進行編輯

$ vim protocols

下面你能夠依次進行以下操做練習:

  • 輸入10x,刪除10個連續字符

  • 輸入3dd,將會刪除3行文本

在普通模式下,你還可使用dw或者daw(delete a word)刪除一個單詞,因此你能夠很容易的聯想到dnw(n替換爲相應數字)表示刪除n個單詞

6、遊標的快速跳轉

普通模式下,下列命令可讓光標快速調轉到指定位置,咱們分別討論快速實現行間跳轉和行內跳轉

1.行間跳轉

命令 說明
nG(n Shift+g) 遊標移動到第 n 行(若是默認沒有顯示行號,請先進入命令模式,輸入:set nu以顯示行號)
gg 遊標移動到到第一行
G(Shift+g) 到最後一行

仍是來練習一下吧:

使用vim打開練習文檔

$ vim protocols

依次進行以下操做練習:

  • 快速跳轉到第9行,而後將其該行刪除

  • 回到第一行,向下刪除8行

  • 跳轉到文檔末,而後刪除該行

小技巧:你在完成依次跳轉後,可使用Ctrl+o快速回到上一次(跳轉前)光標所在位置,這個技巧很實用,好比當你在寫代碼時,突然想起有個bug,須要修改,這時候你跳過去改好了,只須要按下Ctrl+o就能夠回到你以前的位置。vim中會用不少相似的小技巧就等着你去發掘。

2.行內跳轉

普通模式下使用下列命令在行內按照單詞爲單位進行跳轉

命令 說明
w 到下一個單詞的開頭
e 到下一個單詞的結尾
b 到前一個單詞的開頭
ge 到前一個單詞的結尾
0^ 到行頭
$ 到行尾
f<字母> 向後搜索<字母>並跳轉到第一個匹配的位置(很是實用)
F<字母> 向前搜索<字母>並跳轉到第一個匹配的位置
t<字母> 向後搜索<字母>並跳轉到第一個匹配位置以前的一個字母(不經常使用)
T<字母> 向前搜索<字母>並跳轉到第一個匹配位置以後的一個字母(不經常使用)

 

7、複製粘貼和剪切

1.複製及粘貼文本

  • 普通模式中使用y複製

    • 普通模式中,yy複製遊標所在的整行(3yy表示複製3行)

    • 普通模式中,y^ 複製至行首,或y0。不含光標所在處字符。

    • 普通模式中,y$ 複製至行尾。含光所在處字符。

    • 普通模式中,yw 複製一個單詞。

    • 普通模式中,y2w 複製兩個單詞。

    • 普通模式中,yG 複製至文本末。

    • 普通模式中,y1G 複製至文本開頭。

  • 普通模式中使用p粘貼

    • 普通模式中,p(小寫)表明粘貼至光標後(下)

    • 普通模式中,P(大寫)表明粘貼至光標前(上)

2.剪切及粘貼

其實前面講得dd刪除命令就是剪切,你每次dd刪除文檔內容後,即可以使用p來粘貼,也這一點可讓咱們實現一個很爽快的功能——交換上下行:

ddp,就這麼簡單,即實現了快速交換光標所在行與它下面的行

 

8、字符的替換及撤銷(Undo操做)

1.替換和撤銷(Undo)命令

替換和Undo命令都是針對普通模式下的操做

命令 說明
r+<待替換字母> 將遊標所在字母替換爲指定字母
R 連續替換,直到按下Esc
cc 替換整行,即刪除遊標所在行,並進入插入模式
cw 替換一個單詞,即刪除一個單詞,並進入插入模式
C(大寫) 替換遊標之後至行末
~ 反轉游標所在字母大小寫
u{n} 撤銷一次或n次操做
U(大寫) 撤銷當前行的全部修改
Ctrl+r redo,即撤銷undo的操做

 

9、快速縮進

1.使用命令進行快速調整縮進操做

  • 普通模式下輸入15G,跳轉到15行

  • 普通模式下輸入>> 整行將向右縮進(使用,用於格式化代碼超爽)

  • 普通模式下輸入<< 整行向左回退

  • 普通模式下輸入:進入命令行模式下對shiftwidth值進行設置能夠控制縮進和回退的字符數

2.shiftwidth命令

shiftwidth命令是指上一節>>命令產生的縮進(能夠簡寫成sw) 普通模式下輸入:進入命令行模式下對shiftwidth值進行設置能夠控制縮進和回退的字符數 獲取目前的設定值

:set shiftwidth?

設置縮進爲10個字符

:set shiftwidth=10

輸入ESC回到普通模式,再次嘗試>>看縮進量是否變化

3.調整文本位置

命令行模式下輸入:ce(center)命令使本行內容居中

:ce

命令行模式下輸入:ri(right)命令使本行文本靠右

:ri

命令行模式下輸入:le(left)命令使本行內容靠左

:le

 

10、查找

1.快速查找

普通模式下輸入/而後鍵入須要查找的字符串 按回車後就會進行查找。 /功能相同,只不過是向上而/是向下查找。 進入查找以後,輸入nN能夠繼續查找n表示繼續查找,N反向查找

2.快速查找練習

使用vim打開文件進行編輯

$ vim protocols
  • 普通模式下輸入/icmp查找字符串icmp

  • 普通模式下輸入n查找下一個icmp

  • 普通模式下輸入?tcp向上查找字符串tcp

  • 普通模式下輸入N查找上一個出現的tcp

3.高級查找

  • 普通模式下輸入\*尋找遊標所在處的單詞

  • 普通模式下輸入\#同上,但 \* 是向前(上)找,#則是向後(下)找

  • 普通模式下輸入g\*\* ,但部分符合該單詞便可

  • 普通模式下輸入g\#\# ,但部分符合該單詞便可

以上查找n,N 的繼續查找命令依然能夠用

11、多文件編輯

1.使用vim編輯多個文件

編輯多個文件有兩種形式,一種是在進入vim前使用的參數就是多個文件。另外一種就是進入vim後再編輯其餘的文件。 同時建立兩個新文件並編輯

$ vim 1.txt 2.txt

默認進入1.txt文件的編輯界面

  • 命令行模式下輸入:n編輯2.txt文件,能夠加!:n!強制切換,以前一個文件的輸入沒有保存,僅僅切換到另外一個文件

  • 命令行模式下輸入:N編輯1.txt文件,能夠加!:N!強制切換,以前文件內的輸入沒有保存,僅僅是切換到另外一個文件

2.進入vim後打開新文件

  • 命令行模式下輸入:e 3.txt 打開新文件3.txt

  • 命令行模式下輸入:e# 回到前一個文件

  • 命令行模式下輸入:ls能夠列出之前編輯過的文檔

  • 命令行模式下輸入:b 2.txt(或者編號)能夠直接進入文件2.txt編輯

  • 命令行模式下輸入:bd 2.txt(或者編號)能夠刪除之前編輯過的列表中的文件項目

  • 命令行模式下輸入:e! 4.txt,新打開文件4.txt,放棄正在編輯的文件

  • 命令行模式下輸入:f 顯示正在編輯的文件名

  • 命令行模式下輸入:f new.txt,改變正在編輯的文件名字爲new.txt

3.恢復文件

若是由於斷電等緣由形成文檔沒有保存,能夠採用恢復方式,vim -r進入文檔後,輸入:ewcover 1.txt來恢復

$ vim -r 1.txt

12、可視模式

1.可視模式命令簡介

  • 在普通模式下輸入v(小寫),進入字符選擇模式,就能夠移動光標,光標走過的地方就會選取。再次按下v會後就會取消選取。

  • 在普通模式下輸入Shift+v(小寫),進入行選擇模式,按下V以後就會把整行選取,您能夠上下移動光標選更多的行,一樣,再按一次Shift+v就能夠取消選取。

  • 在普通模式下輸入 Ctrl+v(小寫),這是區域選擇模式,能夠進行矩形區域選擇,再按一次Ctrl+v取消選取。

  • 在普通模式下輸入d刪除選取區域內容

  • 在普通模式下輸入y複製選取區域內容

2.可視模式命令練習

拷貝練習文件到當前目錄

$ cp /etc/protocols .

打開練習文件

$ vim protocols
  • 在普通模式下9G跳轉到第9行,輸入Shift+v(小寫V),進入可視模式進行行選擇,選中5行,按下>>縮進,將5行總體縮進一個shiftwidth

  • 在普通模式下輸入 Ctrl+v(小寫v),進入可視模式進行矩形區域選擇,選中第一列字符而後x刪除整列

 

十3、視窗操做

1.視窗操做簡介

vim能夠在一個界面裏打開多個窗口進行編輯,這些編輯窗口稱爲vim的視窗。 打開方法有不少種,例如可使用在命令行模式下輸入:new 打開一個新的vim視窗,並進入視窗編輯一個新文件(普通模式下輸入Ctrl+w也能夠,可是Ctrl+w在chrome下會與chrome關閉標籤頁的快捷鍵衝突,因此使用該快捷鍵你能夠在IE或其它瀏覽器進行練習),除了:new命令,下述列舉的多種方法也能夠在命令模式或普通模式下打開新的視窗:

  • 命令行模式下輸入:sp 1.txt 打開新的橫向視窗來編輯1.txt

  • 命令行模式下輸入:vsp 2.txt 打開新的縱向視窗來編輯1.txt

  • 普通模式下Ctrl-w s 將當前窗口分割成兩個水平的窗口

  • 普通模式下Ctrl-w v 將當前窗口分割成兩個垂直的窗口

  • 普通模式下Ctrl-w q 即 :q 結束分割出來的視窗。若是在新視窗中有輸入須要使用強制符!即:q!

  • 普通模式下Ctrl-w o 打開一個視窗而且隱藏以前的全部視窗

  • 普通模式下Ctrl-w j 移至下面視窗

  • 普通模式下Ctrl-w k 移至上面視窗

  • 普通模式下Ctrl-w h 移至左邊視窗

  • 普通模式下Ctrl-w l 移至右邊視窗

  • 普通模式下Ctrl-w J 將當前視窗移至下面

  • 普通模式下Ctrl-w K 將當前視窗移至上面

  • 普通模式下Ctrl-w H 將當前視窗移至左邊

  • 普通模式下Ctrl-w L 將當前視窗移至右邊

  • 普通模式下Ctrl-w - 減少視窗的高度

  • 普通模式下Ctrl-w + 增長視窗的高度

2.視窗操做練習

打開練習文件

$ vim 1.txt
  • 命令行模式下輸入:new 打開一個新的vim視窗

  • 命令行模式下輸入:sp 2.txt 打開新的橫向視窗來編輯2.txt

  • 命令行模式下輸入:vsp 3.txt 打開新的橫向視窗來編輯3.txt

  • 若是使用非chrome瀏覽器可使用Ctrl+w進行視窗間的跳轉

  • 分別在不一樣視窗的命令行模式下輸入:q!退出多視窗編輯

 

十4、文檔加密

1.建立加密文檔

$ vim -x file1

輸入您的密碼 確認密碼 這樣在下一次打開時,vim就會要求你輸入密碼

十5、在vim執行外部命令

在命令行模式中輸入!能夠執行外部的shell命令

  • :!ls 用於顯示當前目錄的內容

  • :!rm FILENAME用於刪除名爲 FILENAME 的文件

  • :w FILENAME可將當前 VIM 中正在編輯的文件另存爲 FILENAME 文件

十6、幫助系統

1.vim中的查看幫助

  • 普通模式下按F1打開vim本身預設的幫助文檔

  • 命令行模式下輸入:h shiftwidth 打開名爲shiftwidth的幫助文件

  • 命令行模式下輸入:ver 顯示版本及參數

十7、功能設定

1.vim的功能設定

能夠在編輯文件的時候進行功能設定,如命令行模式下輸入:set nu(顯示行數),設定值退出vim後不會保存。要永久保存配置須要修改vim配置文件。 vim的配置文件~/.vimrc,能夠打開文件進行修改,不過務必當心不要影響vim正常使用

2.獲取目前的設定

  • 命令行模式下輸入:set或者:se顯示全部修改過的配置

  • 命令行模式下輸入:set all 顯示全部的設定值

  • 命令行模式下輸入:set option? 顯示option的設定值

  • 命令行模式下輸入:set nooption 取消當期設定值

3.set功能的說明

  • 命令行模式下輸入:set autoindent(ai) 設置自動縮進

  • 命令行模式下輸入:set autowrite(aw) 設置自動存檔,默認未打開

  • 命令行模式下輸入:set background=darklight,設置背景風格

  • 命令行模式下輸入:set backup(bk) 設置自動備份,默認未打開

  • 命令行模式下輸入: set cindent(cin) 設置C語言風格縮進

更多詳細參數請參考vim手冊

相關文章
相關標籤/搜索