Vim操作手冊(cè)

對(duì)vim操作的積累和總結(jié)
要熟悉Vim映砖,首先肯定要了解Vim的三種模式,分別是Normal匿垄,Insert和Visual

1.Normal:

我認(rèn)為普通模式的存在是為了輸入和執(zhí)行命令做準(zhǔn)備的苞尝,先說輸入,第一步肯定要快速定位到想輸入的位置佑惠,在之前的一段時(shí)間里,我在普通模式下一直都只用基本的hjkl來進(jìn)行光標(biāo)的移動(dòng)齐疙,但是后來發(fā)現(xiàn)效率實(shí)在是太低了膜楷,重新翻了翻VIm操作手冊(cè),發(fā)現(xiàn)了如下很有用贞奋,并且快捷的光標(biāo)移動(dòng)操作:

w : 移動(dòng)到下一個(gè)單詞開頭赌厅,這樣就比單純的使用l要好很多,快很多
e : 移動(dòng)到當(dāng)前單詞的末尾
b : 光標(biāo)向后移動(dòng)一個(gè)單詞轿塔,同理特愿,比h要好
0 : 光標(biāo)移動(dòng)到行首(并不會(huì)忽略空格和縮進(jìn))
^ :  光標(biāo)移動(dòng)到當(dāng)前行第一個(gè)單詞的開頭仲墨,這個(gè)用得比0要多
$ : 光標(biāo)移動(dòng)到行尾,不知道為什么洽议,我一直覺得這個(gè)操作很麻煩宗收,能有個(gè)其他相對(duì)簡(jiǎn)便的就好了
( : 光標(biāo)移動(dòng)到下個(gè)句子,也就是說移動(dòng)到下一個(gè)空白行
) : 光標(biāo)移動(dòng)到上個(gè)句子
Ctrl + f:向下移動(dòng)一屏亚兄。
Ctrl + b:向上移動(dòng)一屏。
G:到文件尾
numG:移動(dòng)光標(biāo)到指定的行(num)采驻。(比如 10G 就是到第 10 行)
gg:到文件首
H:移動(dòng)光標(biāo)到屏幕上面
M:移動(dòng)光標(biāo)到屏幕中間
L:移動(dòng)光標(biāo)到屏幕下面
*:讀取光標(biāo)處的字符串审胚,并且移動(dòng)光標(biāo)到它再次出現(xiàn)的地方。
\#:和上面的類似礼旅,但是是往反方向?qū)ふ摇?/text:從當(dāng)前光標(biāo)處開始搜索字符串 text膳叨,并且到達(dá) text 出現(xiàn)的地方。必須使用回車來開始這個(gè)搜索命令痘系。如果想重復(fù)上次的搜索的話菲嘴,按 n。
?text:和上面類似汰翠,但是是反方向龄坪。
ma:在當(dāng)前光標(biāo)的位置標(biāo)記一個(gè)書簽,名字為 a复唤。書簽名只能是小寫字母健田。你看不見書簽的存在,但它確實(shí)已經(jīng)在那里了佛纫。
`a:到書簽 a 處妓局。注意這個(gè)不是單引號(hào),它一般位于大部分鍵盤的 1 的左邊呈宇。
`.:到你上次編輯文件的地方好爬。這個(gè)命令很有用,而且你不用自己去標(biāo)記它甥啄。

VIm的關(guān)鍵字補(bǔ)全功能:
可以使用Ctrl + p或者Ctrl + n來進(jìn)行自動(dòng)補(bǔ)全存炮,這兩條命令會(huì)循環(huán)搜索當(dāng)前文件的匹配的字符串。

Vim在普通模式下的替換和刪除
vim中可以使用:s命令來進(jìn)行替換型豁,如:

s/vim/vi/  表示替換當(dāng)前行的第一個(gè)vim為vi
s/vim/vi/g  表示替換當(dāng)前行所有的vim為vi

vim可以用d來進(jìn)行刪除僵蛛,如:

dw可以刪除到下一個(gè)單詞的開頭
de可以刪除到本單詞的末尾
dd刪除整行
3dd刪除3行
D從光標(biāo)處刪除到該行末尾
d0從光標(biāo)處刪除到該行開頭

2.Visual:

可視的選擇模式有三種,分別是:

- v : 按字符進(jìn)行選擇
- V : 按行進(jìn)行選擇
- Ctrl + v : 按塊進(jìn)行選擇

前兩種是我用的比較多的迎变,按塊進(jìn)行選擇一般用于多行操作充尉,這三種選擇模式都可以配合之前的光標(biāo)移動(dòng)操作進(jìn)行選擇。
選擇之后可以進(jìn)行剪切或者復(fù)制:

d : 剪切
y : 拷貝
c : 剪切并且粘貼時(shí)會(huì)進(jìn)入插入模式

也可以不進(jìn)入可視模式來進(jìn)行剪切和復(fù)制衣形,比如:

dd/yy/cc : 剪切/拷貝/剪切(并進(jìn)入插入模式)當(dāng)前行

Tips: 進(jìn)入可視模式在進(jìn)行剪切拷貝相當(dāng)于先選擇后操作驼侠,也可以先操作后選擇姿鸿,比如dw表示剪切一個(gè)單詞,dj表示剪切一行等等倒源。

3.Insert:

插入模式并沒有什么好講的苛预,無非就是 a/A/i/I/o/O 這些常用的命令進(jìn)入到插入模式而已。

4.下面記錄一下平時(shí)常用的也是非常方便的一些命令組合:
dt" : 刪除內(nèi)容笋熬,直到碰到"热某,"可以替換成其他符號(hào),如‘胳螟,這個(gè)常用于字符串的刪除操作

ciw(change inner word) : 上面的命令是刪除直到"的內(nèi)容昔馋,ciw可以刪除當(dāng)前光標(biāo)所在的單詞(不管光
標(biāo)處在單詞的什么位置)并且進(jìn)入插入模式

caw(change a word) : 與change inner word 類似,但是具體的區(qū)別我google也沒有找到答案
如果各位看官知道的話麻煩在下面留言糖耸,并說明具體場(chǎng)景下應(yīng)用的不同秘遏,多謝!

ci{(change inner {) : 同理可應(yīng)用在一些被{ < " ' 包裹的代碼中嘉竟,如使用 ci{ 可以刪除{}包裹
的內(nèi)容并且進(jìn)入插入模式邦危。
ca{ : 也可使用ca{刪除由{}包裹的內(nèi)容以及{},非常實(shí)用I崛拧倦蚪!

同理可應(yīng)用到sentence, block, paragraph中, 如:
dis, das, dib, dsb, dip, dsp等等

vey vep : 替換當(dāng)前單詞為剪切板的單詞,首先移動(dòng)到單詞首妥粟,然后vey復(fù)制审丘,
然后移動(dòng)到要替換的單詞的開頭,vep粘貼

如果光標(biāo)的位置不在單詞開頭也可以這樣:
viwy viwp : 使用operator + motion的方式來選中inner word復(fù)制以及粘貼

多行操作勾给,如多行注釋: 首先移動(dòng)到要注釋的行的行首滩报,然后Ctrl+v,移動(dòng)光標(biāo)選擇多行播急,I(大寫的i)脓钾,
輸入注釋符,最后esc桩警,此時(shí)多行被注釋可训。

多行縮進(jìn)就相對(duì)比較簡(jiǎn)單,首先大寫的V捶枢,然后光標(biāo)選擇多行握截,<或者>進(jìn)行縮進(jìn)。

但是上面縮進(jìn)的方法還是不是很方便烂叔,為何不直接<i{谨胞,可以將{替換為其他符號(hào)如:( <等

還有一個(gè)很常用的相當(dāng)于一般ide里面的code format功能的縮進(jìn)用法,使用==蒜鸡,或者對(duì)多行進(jìn)行縮進(jìn)胯努,
如: 10==表示從當(dāng)前行開始到下面10行自動(dòng)進(jìn)行縮進(jìn)牢裳,而且可以自動(dòng)識(shí)別語(yǔ)言從而給出正確的縮進(jìn)格式。

使用gg=G可以對(duì)整個(gè)文件進(jìn)行自動(dòng)排版叶沛,使其有正確的縮進(jìn)格式
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蒲讯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子灰署,更是在濱河造成了極大的恐慌判帮,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,423評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溉箕,死亡現(xiàn)場(chǎng)離奇詭異脊另,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)约巷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旱捧,“玉大人独郎,你說我怎么就攤上這事∶渡模” “怎么了氓癌?”我有些...
    開封第一講書人閱讀 157,019評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)贫橙。 經(jīng)常有香客問我贪婉,道長(zhǎng),這世上最難降的妖魔是什么卢肃? 我笑而不...
    開封第一講書人閱讀 56,443評(píng)論 1 283
  • 正文 為了忘掉前任疲迂,我火速辦了婚禮,結(jié)果婚禮上莫湘,老公的妹妹穿的比我還像新娘尤蒿。我一直安慰自己,他們只是感情好幅垮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評(píng)論 6 385
  • 文/花漫 我一把揭開白布腰池。 她就那樣靜靜地躺著,像睡著了一般忙芒。 火紅的嫁衣襯著肌膚如雪示弓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,798評(píng)論 1 290
  • 那天呵萨,我揣著相機(jī)與錄音奏属,去河邊找鬼。 笑死甘桑,一個(gè)胖子當(dāng)著我的面吹牛拍皮,可吹牛的內(nèi)容都是我干的歹叮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,941評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼铆帽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼咆耿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起爹橱,我...
    開封第一講書人閱讀 37,704評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤萨螺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后愧驱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慰技,經(jīng)...
    沈念sama閱讀 44,152評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評(píng)論 2 327
  • 正文 我和宋清朗相戀三年组砚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吻商。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,629評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡糟红,死狀恐怖艾帐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盆偿,我是刑警寧澤柒爸,帶...
    沈念sama閱讀 34,295評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站事扭,受9級(jí)特大地震影響捎稚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜求橄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評(píng)論 3 313
  • 文/蒙蒙 一今野、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谈撒,春花似錦腥泥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至溯乒,卻和暖如春夹厌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背裆悄。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工矛纹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人光稼。 一個(gè)月前我還...
    沈念sama閱讀 46,333評(píng)論 2 360
  • 正文 我出身青樓或南,卻偏偏與公主長(zhǎng)得像孩等,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子采够,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容