閱讀886 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Vim技能修煉教程(7) - 可視模式

可視模式

可視模式是與正常模式、插入模式一起並列的模式。它的作用就像圖形化編輯器下用鼠標來選擇一個塊。

在vim下,使用正常模式和ex命令,連搜帶跳行的,未必就比用鼠標慢。

我們先做一個例子找找感覺,體驗一下vim中可視模式的用法。

我們假設這樣一段代碼:

#include <stdlib.h>
int main(int argc, char* argv[])
{
    return 0;
}

假設我們想把這段代碼全注釋掉,該如何做?
1. 在第一行首先用Ctrl-v進入列選擇模式
2. G跳到最後一行
3. I//<空格>

就變成了下麵這樣:

// #include <stdlib.h>
// int main(int argc, char* argv[])
// {
//     return 0;
// }

是對所有行統一起作效果。

我們嚐試再把注釋刪掉。
1. 第一行行首,0Ctrl-v
2. G跳到最後一行
3. 2l,向右移動兩次
4. x, 將這一塊全刪除

還有更神奇的,假如我們想在每句話後麵添點東西如何做?
我們來看看vim的黑科技:
1. 2G
2. 0
3. Ctrl-V
4. G
5. $
6. A // test

於是這段代碼變成了這樣:

#include <stdlib.h>
int main(int argc, char* argv[]) // test
{ // test
    return 0; // test
} // test

$命令在列塊模式下成為黑科技,雖然每行長短不一,但是它仍然是個塊。

可視模式的三種模式

可視模式的三種子模式是:

  • v: 字符模式
  • V: 行模式
  • Ctrl-v: 列塊模式

另外,gv命令可以重做上次的選區,不分模式。

切換端點

在選擇的時候,有時候會發現,移動到終點之後,起點選錯了。這時我們可以用o命令切換端點,我們再回去移動到正確的起點就可以了。

可視模式下的a和i

在可視模式下,a和i已經失去了切換到插入模式的功能,主要被用於aw, iw, as, is之類的文本對象之中。
要切換到插入模式,I和A命令還是可以正常使用的。

最後更新:2017-07-11 01:02:40

  上一篇:go  如何修複Kindle頻繁自動鎖屏和解鎖
  下一篇:go  阿裏雲建躍:WAF,一場驚心動魄的搜捕