vim編輯器 詳解

2021-10-08 11:03:14 字數 3491 閱讀 5482

編輯模式(命令模式)

輸入模式

末行模式

i:在當前游標所在字元的前面,轉為輸入模式;

a:在當前游標所在字元的後面,轉為輸入模式;

o:在當前游標所在行的下方,新建一行,並轉為輸入模式;

i:在當前游標所在行的行首,轉換為輸入模式

a:在當前游標所在行的行尾,轉換為輸入模式

o:在當前游標所在行的上方,新建一行,並轉為輸入模式;

vim /path/to/somefile

vim +#:定位游標第#行

vim +:定位游標於檔案最後一行

vim +/pattern:開啟檔案,定位至第一次被pattern匹配到的行首

(1)末行模式關閉檔案:

q:退出

wq:儲存並退出

q!:不儲存退出

w:儲存

w!:強行儲存

x:儲存並退出

(2)編輯模式下退出

zz:儲存並退出

(1)逐字元移動:

h:向左

l:向右

j:向下

k:向上

#h/l/j/k:向左/右/下/上,移動#個字元

(2)以單詞為單位移動

w:移動至下乙個單詞的詞首

b:跳至當前或前乙個單詞的詞首

(3)行內跳**

0:絕對行首

^:行首的第乙個非空白字元

$:絕對行尾

(4)行間跳轉

#g:跳轉至#行

g:跳轉至最後一行

末行模式下,直接給出行號即可

(5)段落間跳轉

或]: 跳轉至當前游標所處段落後
ctrl+f:向下翻一屏

ctrl+b:向上翻一屏

ctrl+d:向下翻半屏

ctrl+u:向上翻半屏

x:刪除游標所在處的單個字元

#x:刪除游標所在處及向後的共#個字元

d命令與跳轉命令組合使用,表示刪除多少字元

#dw,#de,#db

dd:刪除當前游標所在行

#dd:刪除包括當前游標所在行在內的#行;

末行模式下:

startadd,endaddd

如:1,8d:刪除第一行到第八行

.:表示當前行

如:.,100d:刪除當前行到第100行

$:最後一行

如:.,$-3d:刪除當前行到倒數第三行

+#:向下的#行

如:.,+5d:刪除當前行及向下的5行;

p:(大寫p)如果刪除的或複製的為整行內容,則貼上至游標所在行的上方,如果複製或刪除的內容為非整行,則貼上至游標所在字元的前面;
p:(小寫p)如果刪除的或複製的為整行內容,則貼上至游標所在行的下方,如果複製或刪除的內容為非整行,則貼上至游標所在字元的後面;

複製命令y與刪除命令d用法相同

y命令與跳轉命令組合使用,表示複製多少字元

#yw,#ye,#yb

yy:複製當前游標所在行

#yy:複製包括當前游標所在行在內的#行;

末行模式下:

startadd,endaddy

如:1,8y:複製第一行到第八行

.:表示當前行

如:.,100y:複製當前行到第100行

$:最後一行

如:.,$-3y:複製當前行到倒數第三行

+#:向下的#行

如:.,+5y:複製當前行及向下的5行;

c:與刪除命令d相同
r:替換模式(可以替換多個字元)
u:撤銷前一次的編輯操作

連續u命令可撤銷此前的n次編輯操作

#u:直接撤銷最近#次編輯操作

撤銷最近一次撤銷:ctrl+r

v:按字元選取

v:按矩形塊選取

*注:在此模式下,用命令移動游標,游標起始位置和當前位置之間的文字將會以高亮顯示。這時就可以對這些高亮顯示的文字進行整體的操作。例如:在字元視覺化模式中,首先用6l命令選中游標右側的6個字元,然後輸入d命令刪除高亮顯示的文字。

/pattern:從檔案首部到尾部查詢

?pattern:從當前游標到首部查詢

在末行模式下使用s命令

addr1,addr2s@pattern@string@gi:表示在全域性模式下且忽略大小寫,從addr1到addr2查詢pattern並替換成string

1,$:表示從第一行到最後一行

%:表示全文

例:.,$-1s/he/he/g:在全域性模式下,從當前游標所在行到倒數第二行,查詢he並替換成he

用法:vim file1 file2 file3

末行模式下:

next:切換至下乙個檔案

prev:切換至前乙個檔案

last:切換至最後乙個檔案

first:切換至第乙個檔案

退出

qa:全部退出

ctrl+w,s:水平拆分視窗

ctrl+w,v:垂直拆分視窗

在視窗間切換游標:

ctrl+w, arrow鍵

退出:

qa:關閉所有視窗
vim -o:水平分割顯示

vim -o:垂直分割顯示

末行模式下使用w命令

:w用法:addr1,addr2w /path/to/somewhere

用法:r /path/to/somefile:在當前游標所處行的下方,新增另外乙個檔案內容

末行模式下:! command:在末行模式下檢視另外乙個檔案

末行模式下:

1、顯示或取消顯示行號

set nu:顯示行號

set nonu:取消顯示行號

2、顯示忽略或區分字元大小寫

set ic(ignorecase):忽略大小寫

set noic(noignorecase):區分字元大小寫

3、設定自動縮排

set ai(autoindent):設定自動縮排

set noai :取消自動縮排

4、查詢的文字高亮顯示或取消

set hlsearch:查詢的文字高亮顯示

set nohlsearch:查詢的文字取消高亮顯示

5、語法高亮顯示

syntax on:開啟語法高亮功能

syntax off:關閉語法高亮功能

全域性:/etc/vimrc:對所有使用者生效

區域性:~/.vimrc:只對當前使用者生效(如果沒有可以在家目錄下新建該檔案)

Vim編輯器詳解

linux中最常用的就是vi或vim編輯器,而vim編輯器就是vi的加強版。它們提供了乙個視窗裝置,通過它可以編輯檔案。學會了它,處理許多指令碼,檔案將會游刃有餘。編輯模式 命令模式 輸入模式 末行模式 底線命令模式 編輯 輸入 i 在當前游標所在字元的前面,轉為輸入模式 a 在當前游標所在字元的前...

vim編輯器詳解

vi編輯器是所有unix及linux系統下標準的編輯器,他就相當於windows系統中的記事本一樣,它的強大不遜色於任何最新的文字編輯器。他是乙個全屏編輯器,模式化編輯器 vi visual inte ce 視覺化介面 vim vi improved vi的增強版 具有語法著色功能 編輯模式 命令模...

vim 編輯器詳解

vim options path to somefile 預設模式 命令模式,編輯模式 輸入模式 末行模式 模式轉換 編輯模式 輸入模式 i insert,實現在當前游標所在處字元前面轉換為輸入模式 o 實現在當前游標所在行的下方新建乙個空白行並轉換為輸入模式 i 在當前游標所在行的行首轉為輸入模式...