摘要:到第行陳皓注注意命令中的是大寫的,另我一般使用到第行,如到第行到第一行。陳皓注相當于,或到最后一行按單詞移動到下一個單詞的開頭。默認上來說,一個單詞由字母,數字和下劃線組成陳皓注程序變量如果你認為單詞是由字符分隔符,那么你需要使用大寫的和。
寫在前面
這里記錄下自己在學習vim過程中的一些坎坷和總結吧!后面補充……
簡明vim練級攻略今天看到不少同學收藏,看樣子還是有很多人和我一樣的初級學習菜鳥,哈哈,這里再次申明,文章主要內容是從鏈接的原文作者哪里拷貝出的,其中自己有小的修改,另外,我會參考其他文章,將常用的一些東西都加入進來,后期會慢慢更新,其中一些說的不清楚的地方,我也會實驗后再詳細修改……
文章主要內容來源于標題連接的原文,這里記錄些我自己需要記憶的東西,這里敲一遍純粹是為了自己加深印象:
首先解釋下:
當首次進入vim時,是處在Normal模式下的。
當按下i之后會進入–insert–模式,在左下角會出現–insert–字樣,或者漢化的-插入-,這是你就可以輸入字符了。
如果你想返回 Normal 模式,請按 ESC 鍵。
基本上所有的這里提到的vim快捷鍵都是在Normal模式下的。
在按下v之后是進入visual模式。這個模式在下面會提到的吧!
在一般的編輯器下,當你需要copy一段文字的時候,你需要使用 Ctrl
鍵,比如:Ctrl-C。也就是說,Ctrl鍵就好像功能鍵一樣,當你按下了功能鍵Ctrl后,C就不在是C了,而且就是一個命令或是一個快鍵鍵了,在VIM的Normal模式下,所有的鍵就是功能鍵了。
下面的文字中,如果是 Ctrl-λ我會寫成
以 : 開始的命令你需要輸入
i → Insert 模式,按 ESC 回到 Normal 模式.
x → 刪當前光標所在的一個字符。
:wq → 存盤 + 退出 (:w 存盤, :q 退出) (陳皓注::w 后可以跟文件名)
dd → 刪除當前行,并把刪除的行存到剪貼板里
p → 粘貼剪貼板 推薦:
hjkl (強例推薦使用其移動光標,但不必需) →你也可以使用光標鍵 (←↓↑→). 注: j 就像下箭頭。
:help
1.各種插入模式
a → 在光標后插入
o → 在當前行后插入一個新行
O → 在當前行前插入一個新行
cw → 替換從光標所在位置后到一個單詞結尾的字符【準確的說是刪除從光標位置到一個單詞結尾的字符并進入插入模式】
2.簡單的移動光標
0 → 數字零,到行頭
^ → 到本行第一個不是blank字符的位置(所謂blank字符就是空格,tab,換行,回車等)
$ → 到本行行尾
g_ → 到本行最后一個不是blank字符的位置。
/pattern → 搜索 pattern 的字符串(陳皓注:如果搜索出多個匹配,可按n鍵到下一個,shift-n上一個)
3.拷貝/粘貼 (陳皓注:p/P都可以,p是表示在當前位置之后,P表示在當前位置之前)
p 粘貼
yy → 拷貝當前行當行于 ddP(dd刪除當前行,再粘貼)
在輸入v之后的視圖模式下,可以在選中多行的情況下復制和粘貼(后面做詳細的總結)
4.Undo/Redo
撤銷和恢復,這個應該一定會用的到
u → undo
5.打開/保存/退出/改變文件(Buffer)
:e path/to/file → 打開一個文件
:w → 存盤
:saveas path/to/file → 另存為 path/to/file
:x, ZZ 或 :wq → 保存并退出 (:x 表示僅在需要時保存,ZZ不需要輸入冒號并回車)
:q! → 退出不保存 :qa! 強行退出所有的正在編輯的文件,就算別的文件有更改。
:bn 和 :bp → 你可以同時打開很多文件,使用這兩個命令來切換下一個或上一個文件。(陳皓注:我喜歡使用:n到下一個文件)
可以用:tabe filename打開新的文件,文件之間的切換可以用gt到下一個文件,Gt上一個文件,下面詳細講下
第三級-更好、更強、更快更好
下面,讓我們看一下vim是怎么重復自己的:
. → (小數點) 可以重復上一次的命令
N
下面是一個示例,找開一個文件你可以試試下面的命令:
2dd → 刪除2行
3p → 粘貼文本3次
10idesu [ESC] → 會寫下 “desu desu desu desu desu desu desu desu desu
desu“
> 注意數字后面有i表示插入,其實說白了,就是先輸入個數字,表示你要重復后面的命令都少次。下面再看一條命令:
100ovar[ESC] → 會寫下100行的var,不行你試試!
. → 重復上一個命令—— 100 “desu “。
3.→ 重復 3 次 “desu” (注意:不是 300,你看,VIM多聰明啊).
更強
你要讓你的光標移動更有效率,你一定要了解下面的這些命令,千萬別跳過。
NG → 到第 N 行 (陳皓注:注意命令中的G是大寫的,另我一般使用 : N 到第N行,如 :137 到第137行)
gg → 到第一行。(陳皓注:相當于1G,或 :1)
G 到最后一行
按單詞移動:
w → 到下一個單詞的開頭。
e → 到下一個單詞的結尾。
b → 到前一個單詞的開頭
如果你認為單詞是由默認方式,那么就用小寫的e和w。默認上來說,一個單詞由字母,數字和下劃線組成(陳皓注:程序變量)
如果你認為單詞是由blank字符分隔符,那么你需要使用大寫的E和W。(陳皓注:程序語句)
下面,讓我來說說最強的光標移動:
% : 匹配括號移動,包括 (, {, [. (陳皓注:你需要把光標先移到括號上)
*和# : 匹配光標當前所在的單詞,移動光標到下一個(或上一個)匹配單詞(*是下一個,#是上一個)
更快
你一定要記住光標的移動,因為很多命令都可以和這些移動光標的命令連動。很多命令都可以如下來干:
例如 0y$ 命令意味著:
0 → 先到行頭
y → 從這里開始拷貝
$ → 拷貝到本行最后一個字符
你可可以輸入 ye,從當前位置拷貝到本單詞的最后一個字符。
你也可以輸入 y2/foo 來拷貝2個 “foo” 之間的字符串。
還有很多時候并不一定你就一定要按y才會拷貝,下面的命令也會被拷貝:
d (刪除 )
v (可視化的選擇)
gU (變大寫)
gu (變小寫)
等等
第四級-vim超能力(陳皓注:可視化選擇是一個很有意思的命令,你可以先按v,然后移動光標,你就會看到文本被選擇,然后,你可能d,也可y,也可以變大寫等)
你只需要掌握前面的命令,你就可以很舒服的使用VIM了。但是,現在,我們向你介紹的是VIM殺手級的功能。下面這些功能是我只用vim的原因。
在當前行上移動光標: 0 ^ $ f F t T , ;
0 → 到行頭
^ → 到本行的第一個非blank字符
$ → 到行尾
g_ → 到本行最后一個不是blank字符的位置。
fa → 到下一個為a的字符處,你也可以fs到下一個為s的字符。
t, → 到逗號前的第一個字符。逗號可以變成其它字符。
3fa → 在當前行查找第三個出現的a。
F 和 T → 和 f 和 t 一樣,只不過是相反方向。
dt" → 刪除所有的內容,直到遇到雙引號"。
區域選擇
在visual 模式下,這些命令很強大,其命令格式為:
action可以是任何的命令,如 d (刪除), y (拷貝), v (可以視模式選擇)。
object 可能是: w 一個單詞, W 一個以空格為分隔的單詞, s 一個句字, p 一個段落。也可以是一個特別的字符:"、 "、 )、 }、 ]。
假設你有一個字符串 (map (+) ("foo")).而光標鍵在第一個 o 的位置。
vi" → 會選擇 foo.
va" → 會選擇 "foo".
vi) → 會選擇 "foo".
va) → 會選擇("foo").
v2i) → 會選擇 map (+) ("foo")
v2a) → 會選擇 (map (+) ("foo"))
塊操作:
塊操作,典型的操作: 0
^ → 到行頭
I-- [ESC] → I是插入,插入“--”,按ESC鍵來為每一行生效(注意:這里的I是大寫哦,小寫不行的)。
在Windows下的vim,你需要使用 而不是 , 是拷貝剪貼板。
自動提示:
在 Insert 模式下,你可以輸入一個詞的開頭,然后按 或是,自動補齊功能就出現了……
宏錄制: qa 操作序列 q, @a, @@
qa 把你的操作記錄在寄存器 a。
于是 @a 會replay被錄制的宏。
@@ 是一個快捷鍵用來replay最新錄制的宏。
示例
在一個只有一行且這一行只有“1”的文本中,鍵入如下命令:
- qaYpq→ - qa 開始錄制 - Yp 復制行. - 增加1. - q 停止錄制. - @a → 在1下面寫下 2 - @@ → 在2 正面寫下3 - 現在做 100@@ 會創建新的100行,并把數據增加到 103.
可視化選擇: v,V,
前面,我們看到了
J → 把所有的行連接起來(變成一行)
< 或 > → 左右縮進
= → 自動給縮進 (陳皓注:這個功能相當強大,我太喜歡了)
在所有被選擇的行后加上點東西:
選中相關的行 (可使用 j 或
$ 到行最后
A, 輸入字符串,按 ESC。
分屏: :split 和 vsplit.
下面是主要的命令,你可以使用VIM的幫助 :help split. 你可以參考本站以前的一篇文章VIM分屏。
:split → 創建分屏 (:vsplit創建垂直分屏)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24813.html
摘要:注暫時沒有注還是最早偏聽偏信,嫌棄臃腫,忍受著不停的嗶嗶嗶,先學習了。后來在好奇心和折騰的本能驅使下,開始走上之路。的印象則是激進。但是在不斷的嗶嗶嗶聲之后,開始享受它的按鍵方式。理由語法高亮干擾代碼閱讀注暫時引用這個地址,有時間轉到來。 注1:時間有限,一次不能完成本文,慢慢添加、改進。注2:暫時沒有注2. Emacs 還是Vim 最早偏聽偏信,嫌棄 Emacs 臃腫,忍受著不停的嗶...
摘要:作為一款古老而具有持久生命力的編輯器,自有它的強大之處。其實,以一種近乎自然語言的方式幫助你完成文本的編輯工作。只需要熟悉幾條簡單的語法,你就會坐在旋轉座椅上前后打轉,感慨美妙的生活又回來了。現在就讓我們一起來學習一下語吧。 作為一款古老而具有持久生命力的編輯器,Vim 自有它的強大之處。很多人覺得 Vim 的學習曲線太陡峭了,為了能夠把 Vim 用得風生水起,不得不記憶大量的命令。如...
摘要:的學習曲線是非常陡的,一開始學習的時候,面對很多的操作命令要去記住,常常望而卻步。其實,只要記住一些常用的命令,加之在工作中堅持使用進行編輯,很快就能得心應手了。 使用 Vim 的時間不長,但如今已經離不開熟悉的 Vim 編輯模式了。 Vim 的學習曲線是非常陡的,一開始學習的時候,面對很多的操作命令要去記住,常常望而卻步。 其實,只要記住一些常用的命令,加之在工作中堅持使用 Vim ...
摘要:學習第一步,當然是如何退出,然后是移動增刪改查保存,后面如果還有興趣就學習一些進階操作。分別表示左,下,上,右上左右下代表的方向很難記試試口決下上,而在兩邊自然代表左右,記憶量變少,可能會好記很多。如果想移動,按下返回普通模式再移動。 stackoverflow 在vim類的問題里,有超過100萬次提問是關于,如何退出vim,哈哈。要高效的使用vim,學習曲線實在是太陡了,所以我的真實...
閱讀 747·2021-07-25 21:37
閱讀 3660·2019-08-30 15:55
閱讀 2574·2019-08-30 15:54
閱讀 1722·2019-08-30 15:44
閱讀 3126·2019-08-30 15:44
閱讀 864·2019-08-30 15:43
閱讀 1032·2019-08-29 15:36
閱讀 3044·2019-08-29 10:58