(轉)vim重復命令


vim重復命令

2.1.1 重復執行上次命令

在普通模式下.(小數點)表示重復上一次的命令操作

拷貝測試文件到本地目錄

$ cp /etc/protocols .

打開文件進行編輯

$ vim protocols

普通模式下輸入x,刪除第一個字符,輸入.(小數點)會再次刪除一個字符,除此之外也可以重復dd的刪除操作

2.1.2 執行指定次數相同的命令

進入普通模式輸入N<command>,N表示重復后面的次數,下面來練習以下:

打開文件文件進行編輯

$ vim protocols

下面你可以依次進行如下操作練習:

  • 輸入10x,刪除10個連續字符
  • 輸入3dd,將會刪除3行文本

在普通模式下,你還可以使用dw或者daw(delete a word)刪除一個單詞,所以你可以很容易的聯想到dnw(n替換為相應數字)表示刪除n個單詞

2.2 游標的快速跳轉

普通模式下,下列命令可以讓光標快速調轉到指定位置,我們分別討論快速實現行間跳轉和行內跳轉

2.2.1 行間跳轉

命令 說明
nG(n Shift+g) 游標移動到第 n 行(如果默認沒有顯示行號,請先進入命令模式,輸入:set nu以顯示行號)
gg 游標移動到到第一行
G(Shift+g) 到最后一行

還是來練習一下吧:

使用vim打開練習文檔

$ vim protocols

依次進行如下操作練習:

  • 快速跳轉到第9行,然后將其該行刪除
  • 回到第一行,向下刪除8行
  • 跳轉到文檔末,然后刪除該行

小技巧:你在完成依次跳轉后,可以使用Ctrl+o快速回到上一次(跳轉前)光標所在位置,這個技巧很實用,比如當你在寫代碼時,忽然想起有個bug,需要修改,這時候你跳過去改好了,只需要按下Ctrl+o就可以回到你之前的位置。vim中會用很多類似的小技巧就等着你去發掘。

2.2.2 行內跳轉

普通模式下使用下列命令在行內按照單詞為單位進行跳轉

命令 說明
w 到下一個單詞的開頭
e 到當前單詞的結尾
b 到前一個單詞的開頭
ge 到前一個單詞的結尾
0^ 到行頭
$ 到行尾
f<字母> 向后搜索<字母>並跳轉到第一個匹配的位置(非常實用)
F<字母> 向前搜索<字母>並跳轉到第一個匹配的位置
t<字母> 向后搜索<字母>並跳轉到第一個匹配位置之前的一個字母(不常用)
T<字母> 向前搜索<字母>並跳轉到第一個匹配位置之后的一個字母(不常用)

依次進行如下操作練習:

  • 在普通模式下,任意跳轉到一行,使用w跳轉到一個單詞的開頭,然后使用dw刪除這個單詞
  • 在普通模式下,使用e跳轉到一個單詞的結尾,並使用~將游標所在字母變成大寫或小寫

2.3 復制粘貼和剪切

2.3.1 復制及粘貼文本

  • 普通模式中使用y復制

    • 普通模式中,yy復制游標所在的整行(3yy表示復制3行)
    • 普通模式中,y^ 復制至行首,或y0。不含光標所在處字符。
    • 普通模式中,y$ 復制至行尾。含光標所在處字符。
    • 普通模式中,yw 復制一個單詞。
    • 普通模式中,y2w 復制兩個單詞。
    • 普通模式中,yG 復制至文本末。
    • 普通模式中,y1G 復制至文本開頭。
  • 普通模式中使用p粘貼

    • 普通模式中,p(小寫)代表粘貼至光標后(下)
    • 普通模式中,P(大寫)代表粘貼至光標前(上)

打開文件進入普通模式練習上述命令,這會兒你就可以隨意yy了,一 一+

$ vim protocols

2.3.2 剪切及粘貼

其實前面講得dd刪除命令就是剪切,你每次dd刪除文檔內容后,便可以使用p來粘貼,也這一點可以讓我們實現一個很爽快的功能——交換上下行:

ddp,就這么簡單,即實現了快速交換光標所在行與它下面的行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM