Linux vim命令詳解

2021-06-20 02:36:40 字數 3725 閱讀 2977

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

:qx     開始記錄巨集,並將結果存入暫存器x

q     退出記錄模式

稍微解釋一下,當在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     刪除塊

~     切換塊中內容的大小寫

**:

Linux vim 命令詳解

vi visual inte ce 視覺化介面vim vi improved vi增強版 全屏編輯器,模式化編輯器 vim模式 模式轉換 編輯 輸入 i 在當前游標所在字元的前面,轉為輸入模式 a 在當前游標所在字元的後面,轉為輸入模式 o 在當前游標所在行的下方,新建一行,並轉為輸入模式 i 在當...

Linux Vim 實用命令詳解

linux常用命令 已學 cd 路徑的切換 rm 後接 rf 可刪除檔案或資料夾 ls 檢視當前路徑下的檔案和資料夾 mkdir 建立資料夾 touch 建立檔案 cat 檢視檔案內容 mv 移動檔案,也可以重新命名檔案 rmdir 刪除空資料夾 whoami 檢視當前使用者 pwd 檢視當前所在路...

linux vim操作詳解

首先,我們需要了解vim的三種模式 三種模式的切換如下 進入vim後,處於命令模式,通過i a o可以進入插入模式,通過冒號 可以進入底行模式。在底行模式和插入模式下,通過esc返回命令模式。1 上下左右 k j h l 分別表示上 下 左 右 2 文件開頭 結尾 gg 文件開頭 g 文件結尾 3 ...