1. 程式人生 > 其它 >Vim簡單入門操作

Vim簡單入門操作

Vim簡單入門操作

目錄

移動游標

  1. H:游標左移

  2. J:游標上移

  3. K:游標下移

  4. L:游標右移

退出

  1. 以保證進入正常模式(Normal Mode),或者按<CTRL+[]>

  2. 輸入<:>以進入命令模式,然後輸入q!,常用引數a-all,w-save,q-quit,!-force,x-equal with wq,e-open another file

文字編輯

x以刪除當前游標後的一位字元

i

是在游標所在的字元之前插入需要錄入的文字。

I 是在游標所在行的行首插入需要錄入的文字。

a 是在游標所在的字元之後插入需要錄入的文字。

A 是在游標所在行的行尾插入需要錄入的文字。

o 是游標所在行的下一行行首插入需要錄入的文字。

O 是游標所在行的上一行行首插入需要錄入的文字。

s 刪除游標所在處的字元然後插入需要錄入的文字。

S 刪除游標所在行,在當前行的行首開始插入需要錄入的文字。

刪除操作

d 是刪除的意思,通常搭配一個字元 ( 刪除範圍 ) 實現刪除功能,常用的如下:

dw 從當前游標開始刪除一個單詞(包括到下一個單詞前的空格)

de 從當前游標開始刪除一個單詞(不包括到下一個單詞前的空格)

dnw 刪除 n 個單詞

dfa 刪除游標處到下一個 a 的字元處( fa 定位游標到 a 處 ,包括a)

dnfa 刪除游標處到第 n 個 a 的字元處

dd 刪除一整行

ndd 刪除游標處開始的 n 行

d$ 刪除游標到本行的結尾

dH 刪除螢幕顯示的第一行文字到游標所在的行

dG 刪除游標所在行到文字的結束

dw這種不怎麼常用, 但daw用得很多(把游標所在的單詞直接刪)

快速移動

nw n代表一個整數,為游標向前移動兩個單詞長度

ne n代表一個整數,為游標向前移動到第n個單詞結尾

0 移動游標至行首

nG 游標定位到第 n 行的行首

gg 游標定位到第一行的行首

G 游標定位到最後一行的行首

H 游標定位到當前螢幕的第一行行首

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

L 游標移動到當前螢幕的尾部

zt 把當前行移動到當前螢幕的最上方,也就是第一行

zz 把當前行移動到當前螢幕的中間

zb 把當前行移動到當前螢幕的尾部

% 匹配括號移動,包括 ( , { , [ 需要把游標先移動到括號上

*# 匹配游標當前所在的單詞,移動游標到下一個(或者上一個)匹配的單詞( * 是下一個,# 是上一個)

行首命令: ^ , 0 , I

行尾命令:1$, A

翻頁

ctrl+f 檢視下一頁內容

ctrl+b 檢視上一頁內容

撤銷

u 撤銷

CTRL+r 恢復撤銷

U撤銷對一行的所有修改

複製貼上

前一個刪除操作所刪除的內容會自動存入記憶體中,通過p呼叫貼上

y 是複製的意思,通常搭配一個字元(複製範圍)實現複製的功能,常用的如下:

yw 複製一個單詞,還有 ynw

yfa 複製游標到下一個 a 的字元處,還有ynfa

yy 複製一行,還有 nyy

y$ 複製游標到本號的結尾

yH 複製螢幕顯示的第一行文字到游標所在的行

yG 複製游標所在行到文字的結束

pP是黏貼的意思,當執行完複製或者黏貼的命令以後,VIM 會把文字寄存起來。

p 在游標後開始複製

P 大寫的 P 游標前開始複製

替換

r 替換掉游標當前所在的字元

R 替換掉從游標開始以後的所有字元,除非 <ESC > 退出

:{作用範圍}s/{目標}/{替換}/{替換的標誌}

:s/old/new把游標所在行的第一個old替換成new

:s/old/new/i把游標所在行的第一個old替換成new且大小寫不敏感

:s/old/new/Ig把游標所在行的全部old替換成new且大小寫敏感

:%s/old/new/gc把全文的old替換成new,並且需要確認

:n1,n2s/old/new/g把從n1行到n2行的全部old替換成new

:'<,'>s/old/new/g選區模式下把選區內所有old換成new

修改

ce刪除當前游標到游標所在單詞的末尾的所有字元,並進入插入模式

c$刪除到行尾

查詢

/+"str"+,進行正向全域性搜尋

搜尋過程中輸入n移動到下一項,輸入N移動到上一項

?+"str"+進行反向全域性搜尋

CTRL+o回到上一個位置

%當游標位於(),{},[]等符號上時,輸入該指令以快速跳轉至前括號或者後括號

執行外部/Linux命令

:!command返回外部介面,執行完命令後按返回

:r !command執行命令並新增結果至操作文字游標處

可視模式

v進入選擇模式。你可以移動游標擴大或者縮小選擇內容。然後你可以使用一個操作符對文字做點什麼。例如,d刪除文字。

輸入其他檔案中的內容

:r filename

Set

  1. 開啟或關閉行號(number)

如果希望每次進入vi 會話時都顯示行號,那麼在主目錄中的.exrc 檔案中新增 set number 行。

在命令模式下,使用如下命令

:set all 命令顯示選項和設定的列表

:set nu 顯示行號

:set nonu 關閉行號

  1. 自動縮排(autoindent)(shiftwidth)

四個空格,那麼在主目錄中的.exrc 檔案中新增 set ai sw=4 行。

在命令模式下,使用如下命令

:set ai 開啟自動縮排

:set noai 關閉自動縮排

:set ai sw=4 把縮排開啟並設定每級縮排設定為4個空格

:n>> 增加n級縮排量

:<<n 減少n級縮排量

  1. 搜尋

如果希望每次進入vi 會話時都啟用不區分大小寫的搜尋,那麼在主目錄中的.exrc 檔案中新增 set ignorecase 行。

不區分大小寫搜尋(ignorecase)

:set ic 不區分大小寫

:set noic 恢復區分大小寫

/echo 查詢當前檔案中,是否存在echo 關鍵字

echo.* 查詢當前檔案中包含字串echo,後面有個0或更多字元,之後是字串file的第一行

:nohl 取消搜尋關鍵字後的 高亮

:/xxxx\c 僅一次不區分大小寫搜尋

查詢幫助

help <key>

補全提示

CTRL+d或者TAB,前者顯示所有推薦的可選項,後者直接補全當前命令