Vim簡單入門操作
Vim簡單入門操作
目錄移動游標
-
H
:游標左移 -
J
:游標上移 -
K
:游標下移 -
L
:游標右移
退出
-
按
以保證進入正常模式(Normal Mode),或者按<CTRL+[]> -
輸入<:>以進入命令模式,然後輸入q!,常用引數
a
-all,w
-save,q
-quit,!
-force,x
-equal withwq
,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
複製游標所在行到文字的結束
p
,P
是黏貼的意思,當執行完複製或者黏貼的命令以後,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
- 開啟或關閉行號(number)
如果希望每次進入vi 會話時都顯示行號,那麼在主目錄中的.exrc 檔案中新增 set number 行。
在命令模式下,使用如下命令
:set all
命令顯示選項和設定的列表
:set nu
顯示行號
:set nonu
關閉行號
- 自動縮排(autoindent)(shiftwidth)
四個空格,那麼在主目錄中的.exrc 檔案中新增 set ai sw=4 行。
在命令模式下,使用如下命令
:set ai
開啟自動縮排
:set noai
關閉自動縮排
:set ai sw=4
把縮排開啟並設定每級縮排設定為4個空格
:n>>
增加n級縮排量
:<<n
減少n級縮排量
- 搜尋
如果希望每次進入vi 會話時都啟用不區分大小寫的搜尋,那麼在主目錄中的.exrc 檔案中新增 set ignorecase 行。
不區分大小寫搜尋(ignorecase)
:set ic
不區分大小寫
:set noic
恢復區分大小寫
/echo
查詢當前檔案中,是否存在echo 關鍵字
echo.*
查詢當前檔案中包含字串echo,後面有個0或更多字元,之後是字串file的第一行
:nohl
取消搜尋關鍵字後的 高亮
:/xxxx\c
僅一次不區分大小寫搜尋
查詢幫助
help <key>
補全提示
CTRL+d
或者TAB
,前者顯示所有推薦的可選項,後者直接補全當前命令