經常處理文本以及經常需要寫代碼的人,都會有自己比較常用的編輯器,本人喜歡用Vim,理由就是Vim編輯器靈活,并且可以達到純鍵盤操作,使用純熟情況下,根本不需要鼠標操作,聽起來是不是很酷的?不過別高興太早,想達到那個境界必須的指令是需要學習+記憶+練習的。總結指令如下:
1、(motion)
fx 向后 移動到搜索字母上,x 可以是任意一個字母
tx 向后 移到搜索字母的左邊 (這真的很有用)
Fx 向前 移到搜索字母上
Tx 向前 移到搜索字母的左邊
; 重復上面四種命令 ,也是重復命令 不過方向取反
. 重復上一個操作
以上命令都是在本行移動
,. 當前行 ,%當前文件
gd to definition of the current word
w:上一個詞。b:下一個詞。(以nonword的特殊字符作為word的邊界,如.,-等
W 上一個詞 B 下一個詞 (以空格作為word的邊界)又稱長單詞
e: 下個詞的最后一個字母 ge 上個詞的最后一個字母
0:移動光標到當前行首。
gm 移動到行正中
$:移動光標到行尾。
2$ 下一行行尾
^:移動光標到當前行的第一個字母位置。
) ( 移動光標到上/下一個句子。
{ } pre/next paragraph
[{ ]} begin/end of block
[[ ][ 代碼塊的開頭和結尾 假設{和}位于第一列的情況下成立
[( ]) 括號范圍內前后移動
gD 跳轉到局部變量的定義處
gg:到文件首 G:到文件尾
numG:移動光標到指定的行(num)。(比如 10G 就是到第 10 行)
H:移動光標到屏幕上面M:移動光標到屏幕中間L:移動光標到屏幕下面 當前屏幕的操作
nH 光標到當前屏幕的第n行
nL 光標到當前屏幕的倒數第n行
zt scroll to top
zz scroll to middle 有用 把當前編輯行置于屏幕中間
zb scroll to bottom
ctr+B/b ctr+F/f pre/next page
ctr+U/u ctr+D/d pre/next half page
ctr+e ctr+y 上/下滾一行
*:讀取光標處的單詞,并且移動光標到它再次出現的地方。
#:讀取光標處的單詞,并且移動光標到它上次出現的地方。
g* 它不完全匹配光標所在處的單詞,而是匹配包含該單詞的所有字符串
g# 它不完全匹配光標所在處的單詞,而是匹配包含該單詞的所有字符串
2.searching
+ - 下一行的開始 上一行的開始(非空)
% matching parenthesis
/text:從當前光標處開始搜索字符串 text,并且到達 text 出現的地方。必須使用回車來開始這個搜索命令。如果想重復上次的搜索的話,按 n
?text:和上面類似,但是是反方向。
/搜索完整的text單詞
/ab{3,5} 對b匹配3-5次
{0,1}匹配0或1次 跟=一樣
{0,} 匹配0次或多次 跟*一樣
{1,} 匹配1次或多次 跟+一樣
{3} 匹配3次
/ab{-1,3} 將會匹配abbb中的ab 意思是盡可能的避免重復
/a.{-}b 其中{-}匹配前面的項一次或0次 盡可能地少 一般這個模式本身只可能匹配到0次 因此 這個命令 只會匹配到axbxb中的axb
/a.*b 則會盡可能多的匹配 因而對于axbxb 會匹配整個的axbxb
/the word 匹配以the結束而且下一行以word開始的行
\_s 匹配空格或斷行
/the\_sword the 與word 之間有空格或斷行
/du{3}d{3} 匹配一個數字 三個大寫字母 單個數字
/joe/s-2 所查找之處往前兩個字符
搜索完按n重復上次查找 N逆向上次查找
3n 向下搜索第三個
ma`a mark/jump to a 'a 轉到標記所在的行頭(行頭)
`.:
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈