vim 常用命令

1. 啓動vim

  vim或 vim filename

2. 兩種編輯模式:普通模式、插入模式

1>啓動vim後,vim在 Normal模式下。

2>進入Insert模式,可以按下鍵i。在Insert模式下可以輸入文本了。

3>如果想用Normal模式,可以按ESC鍵回到Normal模式下。

3.複製與粘貼

1>複製命令爲y,用法與d相同(yw=複製單詞y$=複製到行尾,yy是複製一行)。

普通模式下,將光標移動到要複製文本的開始,按下v,移動光標到要複製文本的末尾,按下y激活複製。

將光標移動到將要複製的行處,按yy舉行復制當前行(按nyy複製n行),再移動到粘貼位置,按p舉行粘貼

2>p爲粘貼

P/p都可以,p是當前位置之後,P表示當前位置之前。

3查找與替換

普通模式下按下斜線(/),輸入查找內容回車即可

替換命令 

:s/old/new/g:替換行中所有old

:n.ms/old/new/g:替換n到m行之間的所有old

:%s/old/new/g:替換文件中的所有old

:%s/old/new/gc:替換文件中的所有old,每次替換給出提示

4.普通模式下常用命令。

1>:q :如果緩衝區未修改,退出

2>:q! :不保存,退出

3>:w filename :將文件另存爲到filename

4>:wq :保存並退出,等價於:”x,”或者ZZ(使用ZZ時不需要輸入冒號並回車)

5>:w  !sudo tee  %

在vim中保存一個只有root可以寫的文件。

6>f或file  :可以查看當前打開文件的文件名和路徑

7> hjkl (強例推薦使用其移動光標,但不必需)→你也可以使用光標鍵 (←↓↑→). 注: j 就像下箭頭

5.vim 的其他一些常用命令(普通模式下,有些需要安裝相應的插件)

Tlist:列出文件中所有的變量名,宏,函數名(ctral+ww進行切換)

vs file:在同一個vim中打開另一個文件。

set tags=/path/tags 添加ctags便籤 然後按ctrl +] 進行跳轉,ctrl+T 跳回

6.各種插入模式

1> a --à在光標後插入

2>o --à在當前行後插入一個新行

3>O à在當前行前插入一個新行

4> cw à替換從光標所在位置後到一個單詞結尾的字符

7.簡單的移動光標:

1>0 -à數字零,到行頭

2>^ -à到本行第一個不是blank字符的位置(所謂blank字符就是空格,tab,換行,回車等)

3>$ à到本行行尾

4>g_ -à到本行最後一個不是blank字符的位置

5>/parttern--à搜索pattern的字符串(如果搜索出多個匹配,可以按n鍵到下一個)

8.Undo/Redo

1>u --à undo

2>Ctral+r -àredo

9. 高級命令

1>vim 如何重複自己

(1) . --à(小數點)可以重複上一次的命令

(2)N<command> -à重複某個命令N此

例如:

2dd-à刪除2行

3p-à粘貼文本3次

100idesu 然後按下ESC會寫下100個desu

.  --à重複上一個命令

3. -à重複3次上一次的命令

10. 讓鼠標的移動更有效率

1> NG --à鼠標移動到N行(G是大寫)

也可以使用:N 到第N行

2>gg -à到第一行。

3>G -à到最後一行

11.最強的光標移動:

1> %:匹配括號移動,包括(,{,[   note: 你需要把光標先移到括號上

2>* 和 #: 匹配光標當前所在的單詞,移動光標到下一個(或上一個)匹配單詞(*是下一個,#是上一個)

11.快操作

塊操作,典型的操作: 0 <C-v> <C-d> I-- [ESC]

1>^ → 到行頭

2><C-v> → 開始塊操作

3><C-d> → 向下移動(你也可以使用hjkl來移動光標,或是使用%,或是別的)

4>I-- [ESC] → I是插入,插入“--”,按ESC鍵來爲每一行生效。

12.自動提示 <C-n> 和 <C-p>

在 Insert 模式下,你可以輸入一個詞的開頭,然後按 <C-p>或是<C-n>,自動補齊功能就出現了……

13.宏錄製:qa操作序列q,@a,@@

1>qa 把你的操作記錄在寄存器 a。

2>於是 @a 會replay被錄製的宏。

3>@@ 是一個快捷鍵用來replay最新錄製的宏。

示例

在一個只有一行且這一行只有“1”的文本中,鍵入如下命令:

(1)qaYp<C-a>q→

qa 開始錄製

Yp 複製行.

<C-a> 增加1.

q 停止錄製.

(2)@a → 在1下面寫下 2

(3)@@ → 在2 正面寫下3

(4)現在做 100@@ 會創建新的100行,並把數據增加到 103.

可視化選擇: v,V,<C-v>

14.前面,我們看到了 <C-v>的示例 (在Windows下應該是<C-q>),我們可以使用 v 和 V。一但被選好了,你可以做下面的事:

J → 把所有的行連接起來(變成一行)

< 或 > → 左右縮進

= → 自動給縮進 (陳皓注:這個功能相當強大,我太喜歡了)

在所有被選擇的行後加上點東西:

<C-v>

選中相關的行 (可使用 j 或 <C-d> 或是 /pattern 或是 % 等……)

$ 到行最後

A, 輸入字符串,按 ESC。

15.分屏: :split 和 vsplit.

下面是主要的命令,你可以使用VIM的幫助 :help split. 你可以參考本站以前的一篇文章VIM分屏

:split → 創建分屏(:vsplit創建垂直分屏)

<C-w><dir> : dir就是方向,可以是 hjkl 或是 ←↓↑→ 中的一個,其用來切換分屏。

<C-w>_ (或 <C-w>|) :最大化尺寸 (<C-w>| 垂直分屏)

<C-w>+ (或<C-w>-) : 增加尺寸

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章