天天看點

vim

本手冊介紹了 vi/vim 編輯器的主要功能。為了便于查找,這裡一并給出了指令和它們的定制參數。在使用這個手冊之前,必須注意以下幾點:

●很多指令可以與重複因子一起使用(vi);

●vim(不是vi)把一個區域(region)定義為一個連續的文本塊,許多指令與文本塊有關;

一個區域可以用v定義,後面跟一個光标移動指令;

●用[Ctrl+l]組合鍵可以清除并重畫螢幕;

●:set指令用來定制編輯環境。

移動光标 指令 功能

h 光标左移

l(或空格鍵) 光标右移

k(或[Ctrl+p]) 光标上移

j(或[Ctrl+n]) 光标下移

[Ctrl+f] 向前翻頁

[Ctrl+b] 向後翻頁

[Ctrl+d] 向前翻半頁

[Ctrl+u] 向後翻半頁

1G 跳到檔案首

40G 跳到第40行

G 跳到檔案尾

[Ctrl+g] 顯示目前行号及檔案的百分比

:set number 顯示所有帶行号的行

在一行内移動光标

B、E和W指令的作用與b、e和w的作用一樣,隻是後者忽略了标點符号。 指令 功能

b 向後移動到單詞首

e 向前移動到單詞尾

w 向前移動到單詞首

0或| 移動到行首

30| 移動到第30列

^ 移動到本行的第一個單詞的首字元

$ 移動到行尾

插入文本 指令 功能

i 在光标的左側插入字元

20i-[Esc] 插入20個連字元

I 在行首插入字元

[Ctrl+v][Ctrl+b] 插入[Ctrl+b]字元

[Ctrl+v][Esc] 插入[Esc]字元

a 在光标的右側添加文本

A 在行尾添加文本

o 在目前行下面插入一空行

O 在目前行上面插入一空行

:set showmode 當vi處在輸入模式下時顯示提示資訊

:set sm 即時顯示配對的)或}

:set ts=n 把制表符設定為n(預設為8)

:set ai 下一行從前一行的縮進位置開始

删除和移動文本 指令 功能

x 删除光标所在的字元

6x 删除光标位置的字元以及右側的5個字元

X 删除前一個字元

dd 删除目前行

4dd 删除4行

64dd 删除64行

dw 删除一個單詞

d0 删除到行首

d$ 删除到行尾

d 删除一個區域(隻用于vim)

p 把被剪切的文本粘貼到下面(整行)或右側(部分行)

P 把被剪切的文本粘貼到上面(整行)或左側(部分行)

"add 把目前行粘貼到緩沖區a裡

"ap 把緩沖區a裡的内容粘貼到目前位置

J 把目前行于下一行合并為一行

xp 調換兩個字元的位置

修改文本 指令 功能

rch 把光标位置的字元替換為ch

R 替換光标右邊的文本

s 把光标所在的字元替換為任意個字元

S 替換整行内容

cw 修改一個單詞

c 修改區域裡的文本(vim)

~ 改變所掃描的或區域裡的字母的大小寫

!tr'[a-z]''[A-Z]' 把區域裡的字母轉換為大寫(vim)

!tr'[A-Z]''[a-z]' 把區域裡的字母轉換為小寫(vim)

複制文本 指令 功能

yy 複制目前行

6yy 複制六行

yw 複制單詞

y 複制區域(vim)

p 把複制的文本粘貼到右邊或下面

P 把複制的文本粘貼到左邊或上面

"ayy 把目前行複制到緩沖區a裡

"ap 恢複緩沖區a裡的内容

啟動編輯器 指令 功能

vi +100 foo 打開檔案foo并把光标定位在100行

vi +/pat foo 打開檔案foo并把光标定位在pat第一次出現的行

vi +foo 打開檔案foo,把光标定位在檔案尾

vi foo1 foo2 ... 打開檔案foo1,用n切換到foo2等

vi -r foo 把交換檔案裡的内容恢複到緩沖區裡

vi -R foo 一隻讀模式打開foo檔案

儲存與退出 指令 功能

:w 儲存檔案并繼續編輯

:w bar 同微軟Windows作業系統中的“另存為……”

:w! bar 同上,但是覆寫現存的檔案bar

:n1,n2w foo 把n1到n2之間的行儲存到檔案foo

:n1,n2w>>foo 把n1到n2之間的行添加到foo檔案尾

:.w foo 把目前行儲存到檔案foo

:$w foo 把最後一行儲存到檔案foo

:x 儲存并退出編輯器

:wq 同上

:q 如果檔案的内容沒有變化則退出編輯器

:q! 放棄修改并退出編輯器

上一篇: sed指令詳解