vim使用

1 . 上下左右移動

h: 左

j: 下

k:上

l: 右

n+(h/j/k/l) : 數字加上述命令表示向各個方向跳轉n行


 2 . 跳轉(行間/多行/單行)

gg : 跳轉到全文首行

G : 跳轉到最後一行

nG("數字+G"): 跳轉到指定第n行;

H/M/L : 分別跳轉到當前頁面的頂端,尾端,中間 的首個非空字符

0(數字0):跳轉到行頭非空字符

$ : 跳轉到行尾非空字符

[[ : 跳轉到上一個函數的開始處

]] : 下一個函數的開始處

% : 跳轉到匹配的括號( (,),{,},[,] )的另外一半的位置

ctrl + i : 跳轉到下一個歷史移動位置

ctrl + o(字母o) : 跳轉到上一個歷史記錄位置

''''(兩個引號) : 在兩個歷史記錄之間跳轉

zt : 以當前光標爲參照,把當前光標所在行,移動到頂部(top)

zb: 以當前光標爲參照,把當前光標所在行,移動到底部(button)

zz : 以當前光標爲參照,把當前光標所在行,移動到中間

W : 下個字符串的開始

B : 上個字符串的開始

ctrl + b : 翻到上一頁

ctrl + f : 翻到下一頁

ctrl + d : 向下移動行

ctrl + u : 向上移動行


3 . 多行編輯

多行註釋:

第一步: ctrl + v : 進入塊編輯模式;

第二步:  上下移動, 選取需要編輯塊(需要先把光標移動到行首)

第三步 : 按住大寫i鍵,進入塊插入模式

第四步: 輸入註釋符號(// , # ```等)

第五步 : 按esc,退出塊編輯模式,完成(註釋符號可能會稍延時出現)


刪除多行註釋:

第一步 : ctrl + v,進入塊編輯模式

第二步 : 上下移動需要修改的塊位置

第三部 : 按x或者d建,刪除

第四步 : esc退出,完成(一次只能刪除一個符號)


命令行刪除或者添加行首:

在所有行的行首添加## :% s/^/##/g

在2到6行行首添加&&(需要轉義):2,6 s/^/\&\&/g

去掉2~6行行首的&& :2,6 s/^&&//g

多行刪除:

n,m, d: (數字+數字+m) 可以刪除n到m之間的多行文本;

例如: 23, 34, d : 刪除第23行到34行之間的內容


多行縮進:

 按v進入visual狀態,選擇多行,用>或<縮進或縮出 
 通常根據語言特徵使用自動縮進排版:在命令狀態下對當前行用== (連按=兩次),  或對多行用n==(n是自然數)表示自動縮進從當前行起的下面n行。你可以試試把代碼縮進任意打亂再用n==排版,相當於一般IDE裏的code format。使用gg=G可對整篇代碼進行排版。


4 . 查找:

/ + 字符串 : 向下查找 

? + 字符串 : 向上查找 

: noh  :  取消查找到後高亮的文本的顯示

執行完此兩條命令之後,如果想要查找下一條記錄, 可以通過n鍵繼續執行正向查找, N: 反向查找(正向,反向是相對於/ 還是?的)

* : 查找當前光標所在的單詞(n: 下一個匹配項,N: 上一個匹配項)

# : 高亮顯示當前光標所在單詞 (:noh  取消高亮


5 . 刪除

dd : 刪除當前行

x (小寫) :  刪除一個當前字符(相當於delete)

X(大寫) :  刪除一個當前字符之前的字符(相當於Backspace)

dG : 刪除當前行到尾行

:1, 10d : 刪除一到第十行的內容


6 . 複製粘貼

yy : 複製當前行

y+n+w (y+數字+w) : 複製當前單詞之後的n個單詞

y+n+W : 複製當前位置之後的n個字

y + (h/j/k/l) : 表示從當前位置複製附近的一個位置(j/k:兩行 / h/l : 一個字符)

y + n +  (h/j/k/l) : 從當前位置複製多少行/字符

y+ G : 從當前複製至文檔尾行

y + 1 + G : 從當前位置複製到文檔首行

y + 0(數字0) : 從當前位置複製到當前行的行頭

y + $ : 從當前位置複製到當前行行尾

p(小寫) : 粘貼到遊標之後

P(大寫) : 粘貼到遊標之前

shift + insert : 把當前粘貼板裏面的內容粘貼進去(插入模式時候使用)


7 . 替換

:s/vivian/sky/ 替換當前行第一個 vivian 爲 sky

s/vivian/sky/g 替換當前行所有 vivian 爲 sky

:n,$ s/vivian/sky/g : 替換第 n 行開始到最後一行中每一行所有 vivian 爲 sky 


特別的: (去掉window下面的^M )

使用命令:cat filename1 | tr -d “^V^M” > newfile
使用命令:sed -e “s/^V^M//” filename > outputfilename.

在vi中處理:首先使用vi打開文件,然後按ESC鍵,接着輸入命令:%s/^V^M//. 

              :%s/^M$//g 

需要注意的是在1、2兩種方法中,^V和^M指的是Ctrl+V和Ctrl+M.你必須要手工進行輸入,而不是粘貼。


8 . 加入ctags"鏈接"

ctags -R * : 把一個目錄下的所有文件的標記符號都記錄下來,用於vim進行函數的跳轉鏈接(ctrl + ] : 可以跳轉)


9. 內容編輯回退

u : 編輯內容回到之前(一次一步)

ctrl + r : 重做(撤銷之前的回退)


10. 不退出vim,執行shell命令

:!cmd
不退出vim 執行命令 cmd

:r !cmd
不退出vim執行命令cmd,並將cmd的輸出內容插入當前文本中。

:shell
切換到shell裏(此時並沒有退出vim,可以理解成vim轉入後臺),你可以在shell中做任何操作,退出shell(比如用exit)後,會切換回原來的vim中

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