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