linux下vim命令詳解

來源:互聯網
上載者:User

標籤:使用   檔案   代碼   linux   c   line   

進階一些的編輯器,都會包含宏功能,vim當然不能缺少了,在vim中使用宏是非常方便的:

:qx   開始記錄宏,並將結果存入寄存器x

q   退出記錄模式

@x   播放記錄在x寄存器中的宏命令

稍微解釋一下,當在normal模式下輸入:qx後,你對文本的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模

式,然後輸入@x對剛才記錄下來的命令進行重複,此命令後可跟數字,表示要重複多少次,比如@x20,可以重複20次。這個在文本的批處理中是非常有用的。

同時編輯多個檔案

在vim眾多的外掛程式中,有一個叫minibuffer的外掛程式,就是下面所說的標籤頁功能了,可以支援同時編輯多個檔案。

標籤命令

:tabe fn   在一個新的標籤頁中編輯檔案fn

gt   切換到下一個標籤頁

gT   切換到上一個標籤頁

:tabr   切換到第一個標籤頁

:tabl   切換到最後一個標籤頁

:tabm [N]   把當前tab移動到第N個tab之後

對,正如你所想象的那樣,跟eclipse, ue等的標籤頁是一個意思!

視窗命令

ctrl+w s   水平分割視窗

ctrl+w w   切換視窗

ctrl+w q   退出當前視窗(由於同時有多個檔案,此命令不會影響其他視窗)

ctrl+w v   垂直分割視窗

其他

vim在儲存之前不會對檔案做實際的修改,只是載入到緩衝區中,對檔案的編輯其實是對緩衝區的編輯,直到:w時才會存入物理檔案。

:e file   把file載入到新的緩衝區中

:bn   跳轉到下一個緩衝區

:bd   刪除緩衝區(關閉檔案)

:sp fn   分割視窗,並將fn載入到新的視窗中

退出編輯器

:w   將緩衝區寫入檔案,即儲存修改

:wq   儲存修改並退出

:x   儲存修改並退出

:q   退出,如果對緩衝區進行過修改,則會提示

:q!   強制退出,放棄修改

尋找替換

/pattern   向後搜尋字串pattern

?pattern   向前搜尋字串pattern

n   下一個匹配(如果是/搜尋,則是向下的下一個,?搜尋則是向上的下一個)

N   上一個匹配(同上)

:%s/old/new/g   搜尋整個檔案,將所有的old替換為new

:%s/old/new/gc   搜尋整個檔案,將所有的old替換為new,每次都要你確認是否替換

複製粘貼

dd   刪除游標所在行

dw   刪除一個字(word)

x   刪除當前字元

X   刪除前一個字元

D   刪除到行末

yy   複製一行,此命令前可跟數字,標識複製多行,如6yy,表示從當前行開始複製6行

yw   複製一個字

y$   複製到行末

p   粘貼粘貼板的內容到當前行的下面

P   粘貼粘貼板的內容到當前行的上面

]p   有縮排的粘貼,vim會自動調節代碼的縮排

"a   將內容放入/存入a寄存器,可以支援多粘貼板

附:比如常用的一個寄存器就是系統寄存器,名稱為+,所以從系統粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個寄存器。

移動游標

在vim中移動游標跟其他的編輯器中有很大的區別,不過一旦學會了,就會飛速的在文本中移動了。

h,j,k,l   上,下,左,右

ctrl-f   上翻一頁

ctrl-b   下翻一頁

%   跳到與當前括弧匹配的括弧處,如當前在{,則跳轉到與之匹配的}處

w   跳到下一個字首,按標點或單詞分割

W   跳到下一個字首,長跳,如end-of-line被認為是一個字

e   跳到下一個字尾

E   跳到下一個字尾,長跳

b   跳到上一個字

B   跳到上一個字,長跳

0   跳至行首,不管有無縮排,就是跳到第0個字元

^   跳至行首的第一個字元

$   跳至行尾

gg   跳至檔案的第一行

gd   跳至當前游標所在的變數的聲明處

[N]G   跳到第N行,如0G,就等價於gg,100G就是第100行

fx   在當前行中找x字元,找到了就跳轉至

;   重複上一個f命令,而不用重複的輸入fx

tx   與fx類似,但是只是跳轉到x的前一個字元處

Fx   跟fx的方向相反

),(   跳轉到上/下一個語句

*   尋找游標所在處的單詞,向下尋找

#   尋找游標所在處的單詞,向上尋找

`.   跳轉至上次編輯位置

在螢幕上移動

H   移動游標到當前螢幕上最上邊的一行

M   移動游標到當前螢幕上中間的一行

L   移動游標到當前螢幕上最下邊的一行

書籤

ma   把當前位置存成標籤a

`a   跳轉到標籤a處

編輯

r   替換一個字元

J   將下一行和當前行串連為一行

cc   刪除當前行並進入編輯模式

cw   刪除當前字,並進入編輯模式

c$   擦除從當前位置至行末的內容,並進入編輯模式

s   刪除當前字元並進入編輯模式

S   刪除游標所在行並進入編輯模式

xp   交換當前字元和下一個字元

u   撤銷

ctrl+r   重做

.   重複上一個編輯命令

~   切換大小寫,當前字元

g~iw   切換當前字的大小寫

gUiw   將當前字變成大寫

guiw   將當前字變成小寫

>>   將當前行右移一個單位

<<   將當前行左移一個單位(一個tab符)

==   自動縮排當前行

插入模式

i   從當前游標處進入插入模式

I   進入插入模式,共置游標於行首

a   追加模式,置游標於當前游標之後

A   追加模式,置游標於行末

o   在當前行之下新加一行,並進入插入模式

O   在當前行之上新加一行,並進入插入模式

Esc   退出插入模式

可視模式

標記文本

v   進入可視模式,單字元模式

V   進入可視模式,行模式

ctrl+v   進入可視模式,列模式,類似於UE的列模式

o   跳轉游標到選中塊的另一個端點

U   將選中塊中的內容轉成大寫

O   跳轉游標到塊的另一個端點

aw   選中一個字

ab   選中括弧中的所有內容,包括括弧本身

aB   選中{}括弧中的所有內容

ib   選中括弧中的內容,不含括弧

iB   選中{}中的內容,不含{}

對標記進行動作

>   塊右移

<   塊左移

y   複製塊

d   刪除塊

~   切換塊中內容的大小寫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.