linux編輯器——vim你應該知道的一些技巧

文本編輯器 Vim Linux 科技 路由科技 2017-04-07

本文的目標是提供一些vim的使用技巧,利用這些技巧可以提高vim的操作效率。部分技巧在vi上也可以使用,但是現在基本上都是用vim了。

1. 選定文字 / 拷貝粘貼

v為可視模式,可以選定多行。選定多行之後,可以用yy或者dd等等進行拷貝和剪切。

p 是粘貼

y 和d 可以直接拷貝或者剪切選定的內容

yw是拷貝一個單詞

如果要複製整行的最簡單辦法就是V,y,p 就行了

v是可以選定一行任意個字符的,V是行選定的,一次一整行,然後通過向下或向上移動光標而選定多行。

對於v選定的,拷貝後就是這麼多,選多少就拷貝多少,而V選定的,粘貼的話會自動換到下一行

命令模式下,也是塊選定,不過是列塊選定

2. 摺疊代碼

可以zf進行摺疊, 用zo打開摺疊,也可以方向鍵向右打開摺疊,zc 關閉摺疊(只要在被摺疊的塊中的任一個語句就行)

3. 縮進代碼

是右縮進

按v選定後按=就是自動格式化代碼,自動縮進,內部的遞歸的縮進都做到了

行左移>,該命令用於調整源碼縮進格式簡便快速。

4. 移動光標

%是從大括號的開始移動到大括號的結束位置

:後邊加行號就是跳到這一行

光標返回到以前的位置。相當於光標移動的“撤銷”

光標返回到後來的位置。相當於光標移動的“恢復”

5. 查找命令

用/查找單詞後,n可以跳到下一個,N則是上一個,:nohls可以取消高亮

查找時,:set ignorecase”項讓VIM忽略大小寫,“:set noignorecase” 來關閉這項功能。

6.函數間跳轉

ctrl+]和ctrl+T分別是查找函數的定義和返回,好像需要ctag的支持

7.快速移動光標

在 vi 中, 移動光標和編輯是兩件事, 正因為區分開來, 所以可以很方便的進行光標定

位和編輯. 因此能更快一點移動光標是很有用的.

w(e) 移動光標到下一個單詞.

b 移動光標到上一個單詞.

0 移動光標到本行最開頭.

^ 移動光標到本行最開頭的字符處.

$ 移動光標到本行結尾處.

H 移動光標到屏幕的首行.

M 移動光標到屏幕的中間一行.

L 移動光標到屏幕的尾行.

gg 移動光標到文檔首行.

G 移動光標到文檔尾行.

c-f (即 ctrl 鍵與 f 鍵一同按下) 本命令即 page down.

c-b (即 ctrl 鍵與 b 鍵一同按下, 後同) 本命令即 page up.

'' 此命令相當有用, 它移動光標到上一個標記處, 比如用 gd, * 等查

'. 此命令相當好使, 它移動光標到上一次的修改行.

`. 此命令相當強大, 它移動光標到上一次的修改點.

8.替換

替換是 vi 的強項, 因為可以用正規表達式來匹配字符串.以下提供幾個例子.

:s/aa/bb/g 將光標所在行出現的所有包含 aa 的字符串中的 aa 替換為 bb

:s/\/bb/g 將光標所在行出現的所有 aa 替換為 bb, 僅替換 aa 這個單詞

:%s/aa/bb/g 將文檔中出現的所有包含 aa 的字符串中的 aa 替換為 bb

:12,23s/aa/bb/g 將從12行到23行中出現的所有包含 aa 的字符串中的 aa 替換為 bb

:12,23s/^/#/ 將從12行到23行的行首加入 # 字符

:%s= *$== 將所有行尾多餘的空格刪除

:g/^\s*$/d 將所有不包含字符(空格也不包含)的空行刪除.

喜歡的點個關注。謝謝了

你的關注就是我的動力。

相關推薦

推薦中...