最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

Vim進(jìn)階簡(jiǎn)明手冊(cè)(2)

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 15:30:00
文檔

Vim進(jìn)階簡(jiǎn)明手冊(cè)(2)

Vim進(jìn)階簡(jiǎn)明手冊(cè)(2):第三級(jí)– 更好,更強(qiáng),更快 先恭喜你!你干的很不錯(cuò)。我們可以開(kāi)始一些更為有趣的事了。在第三級(jí),我們只談那些和vi可以兼容的命令。 更好 下面,讓我們看一下vim是怎么重復(fù)自己的: . → (小數(shù)點(diǎn)) 可以重復(fù)上一次的命令 Ncommand → 重復(fù)某個(gè)命令N次 下面
推薦度:
導(dǎo)讀Vim進(jìn)階簡(jiǎn)明手冊(cè)(2):第三級(jí)– 更好,更強(qiáng),更快 先恭喜你!你干的很不錯(cuò)。我們可以開(kāi)始一些更為有趣的事了。在第三級(jí),我們只談那些和vi可以兼容的命令。 更好 下面,讓我們看一下vim是怎么重復(fù)自己的: . → (小數(shù)點(diǎn)) 可以重復(fù)上一次的命令 Ncommand → 重復(fù)某個(gè)命令N次 下面
更強(qiáng)

你要讓你的光標(biāo)移動(dòng)更有效率,你一定要了解下面的這些命令,千萬(wàn)別跳過(guò)。

  1. NG → 到第 N 行 (陳皓注:注意命令中的G是大寫(xiě)的,另我一般使用 : N 到第N行,如 :137 到第137行)
  2. gg → 到第一行。(陳皓注:相當(dāng)于1G,或 :1)
  3. G → 到最后一行。
  4. 按單詞移動(dòng):
    1. w → 到下一個(gè)單詞的開(kāi)頭。
    2. e → 到下一個(gè)單詞的結(jié)尾。

    > 如果你認(rèn)為單詞是由默認(rèn)方式,那么就用小寫(xiě)的e和w。默認(rèn)上來(lái)說(shuō),一個(gè)單詞由字母,數(shù)字和下劃線組成(陳皓注:程序變量)

    > 如果你認(rèn)為單詞是由blank字符分隔符,那么你需要使用大寫(xiě)的E和W。(陳皓注:程序語(yǔ)句)

下面,讓我來(lái)說(shuō)說(shuō)最強(qiáng)的光標(biāo)移動(dòng):

  • % : 匹配括號(hào)移動(dòng),包括 (, {, [. (陳皓注:你需要把光標(biāo)先移到括號(hào)上)
  • *#: 匹配光標(biāo)當(dāng)前所在的單詞,移動(dòng)光標(biāo)到下一個(gè)(或上一個(gè))匹配單詞(*是下一個(gè),#是上一個(gè))
  • 相信我,上面這三個(gè)命令對(duì)程序員來(lái)說(shuō)是相當(dāng)強(qiáng)大的。

    更快

    你一定要記住光標(biāo)的移動(dòng),因?yàn)楹芏嗝疃伎梢院瓦@些移動(dòng)光標(biāo)的命令連動(dòng)。很多命令都可以如下來(lái)干:

    例如 0y$ 命令意味著:

  • 0 → 先到行頭
  • y → 從這里開(kāi)始拷貝
  • $ → 拷貝到本行最后一個(gè)字符
  • 你可可以輸入 ye,從當(dāng)前位置拷貝到本單詞的最后一個(gè)字符。

    你也可以輸入 y2/foo 來(lái)拷貝2個(gè) “foo” 之間的字符串。

    還有很多時(shí)間并不一定你就一定要按y才會(huì)拷貝,下面的命令也會(huì)被拷貝:

  • d (刪除 )
  • v (可視化的選擇)
  • gU (變大寫(xiě))
  • gu (變小寫(xiě))
  • 等等
  • (注:可視化選擇是一個(gè)很有意思的命令,你可以先按v,然后移動(dòng)光標(biāo),你就會(huì)看到文本被選擇,然后,你可能d,也可y,也可以變大寫(xiě)等)

    第四級(jí) – Vim 超能力

    你只需要掌握前面的命令,你就可以很舒服的使用VIM了。但是,現(xiàn)在,我們向你介紹的是VIM殺手級(jí)的功能。下面這些功能是我只用vim的原因。

    在當(dāng)前行上移動(dòng)光標(biāo): 0 ^ $ f F t T , ;
  • 0 → 到行頭
  • ^ → 到本行的第一個(gè)非blank字符
  • $ → 到行尾
  • g_ → 到本行最后一個(gè)不是blank字符的位置。
  • fa → 到下一個(gè)為a的字符處,你也可以fs到下一個(gè)為s的字符。
  • t, → 到逗號(hào)前的第一個(gè)字符。逗號(hào)可以變成其它字符。
  • 3fa → 在當(dāng)前行查找第三個(gè)出現(xiàn)的a。
  • FT → 和 ft 一樣,只不過(guò)是相反方向。
  • 還有一個(gè)很有用的命令是 dt" → 刪除所有的內(nèi)容,直到遇到雙引號(hào)—— "。

    區(qū)域選擇 ai

    在visual 模式下,這些命令很強(qiáng)大,其命令格式為

    ai

  • action可以是任何的命令,如 d (刪除), y (拷貝), v (可以視模式選擇)。
  • object 可能是: w 一個(gè)單詞, W 一個(gè)以空格為分隔的單詞, s 一個(gè)句字, p 一個(gè)段落。也可以是一個(gè)特別的字符:"、 '、 )、 }、 ]。
  • 假設(shè)你有一個(gè)字符串 (map (+) ("foo")).而光標(biāo)鍵在第一個(gè) o 的位置。

  • vi" → 會(huì)選擇 foo.
  • va" → 會(huì)選擇 "foo".
  • vi) → 會(huì)選擇 "foo".
  • va) → 會(huì)選擇("foo").
  • v2i) → 會(huì)選擇 map (+) ("foo")
  • v2a) → 會(huì)選擇 (map (+) ("foo"))
  • 塊操作:

    塊操作,典型的操作: 0 I-- [ESC]

  • ^ → 到行頭
  • → 開(kāi)始?jí)K操作
  • → 向下移動(dòng) (你也可以使用hjkl來(lái)移動(dòng)光標(biāo),或是使用%,或是別的)
  • I-- [ESC] → I是插入,插入“--”,按ESC鍵來(lái)為每一行生效。
  • 在Windows下的vim,你需要使用 而不是 , 是拷貝剪貼板。

    自動(dòng)提示:

    在 Insert 模式下,你可以輸入一個(gè)詞的開(kāi)頭,然后按 或是,自動(dòng)補(bǔ)齊功能就出現(xiàn)了……

    宏錄制: qa 操作序列 q, @a, @@
  • qa 把你的操作記錄在寄存器 a。
  • 于是 @a 會(huì)replay被錄制的宏。
  • @@ 是一個(gè)快捷鍵用來(lái)replay最新錄制的宏。
  • 示例

    在一個(gè)只有一行且這一行只有“1”的文本中,鍵入如下命令:

  • qa Yp q
  • qa 開(kāi)始錄制
  • Yp 復(fù)制行. //Y復(fù)制行 p粘貼
  • 增加1.
  • q 停止錄制.
  • @a → 在1下面寫(xiě)下 2
  • @@ → 在2 正面寫(xiě)下3
  • 現(xiàn)在做 100@@ 會(huì)創(chuàng)建新的100行,并把數(shù)據(jù)增加到 103.
  • 可視化選擇: v,V,

    前面,我們看到了 的示例 (在Windows下應(yīng)該是),我們可以使用 vV。一但被選好了,你可以做下面的事:

  • J → 把所有的行連接起來(lái)(變成一行)
  • <> → 左右縮進(jìn)
  • = → 自動(dòng)給縮進(jìn) (注:這個(gè)功能相當(dāng)強(qiáng)大,我太喜歡了)
  • 在所有被選擇的行后加上點(diǎn)東西:

  • 選中相關(guān)的行 (可使用 j 或是 /pattern 或是 % 等……)
  • $ 到行最后
  • A, 輸入字符串,按 ESC。 (I 是在行前加上點(diǎn)東西 A 是在行后)
  • 分屏: :splitvsplit.

    下面是主要的命令,你可以使用VIM的幫助 :help split. 你可以參考以前的一篇文章VIM分屏。

  • :split → 創(chuàng)建分屏 (:vsplit創(chuàng)建垂直分屏)
  • : dir就是方向,可以是 hjkl 或是 ←↓↑→ 中的一個(gè),其用來(lái)切換分屏。
  • _ (或 |) : 最大化尺寸 (| 垂直分屏)
  • + (或 -) : 增加尺寸
  • 學(xué)習(xí)vim就像學(xué)彈鋼琴一樣,一旦學(xué)會(huì),受益無(wú)窮。

    ——————————正文結(jié)束——————————

    這是一個(gè)你不需要使用鼠標(biāo),不需使用小鍵盤(pán),只需要使用大鍵盤(pán)就可以完成很多復(fù)雜功能文本編輯的編輯器。不然,Visual Studio也不就會(huì)有vim的插件了。

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Vim進(jìn)階簡(jiǎn)明手冊(cè)(2)

    Vim進(jìn)階簡(jiǎn)明手冊(cè)(2):第三級(jí)– 更好,更強(qiáng),更快 先恭喜你!你干的很不錯(cuò)。我們可以開(kāi)始一些更為有趣的事了。在第三級(jí),我們只談那些和vi可以兼容的命令。 更好 下面,讓我們看一下vim是怎么重復(fù)自己的: . → (小數(shù)點(diǎn)) 可以重復(fù)上一次的命令 Ncommand → 重復(fù)某個(gè)命令N次 下面
    推薦度:
    標(biāo)簽: 更好 更快 手冊(cè)
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    Top