Vim技能修炼教程(7) - 可视模式

摘要:可视模式是Vim新增的特色功能,在插件开发中被广泛使用

可视模式

可视模式是与正常模式、插入模式一起并列的模式。它的作用就像图形化编辑器下用鼠标来选择一个块。

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

我们先做一个例子找找感觉,体验一下vim中可视模式的用法。

我们假设这样一段代码:

#include<stdlib.h>

intmain(intargc,char*argv[])

{

return0;

}

假设我们想把这段代码全注释掉,该如何做?

1.在第一行首先用Ctrl-v进入列选择模式

2.G跳到最后一行

3.I//<空格>

就变成了下面这样:

//#include<stdlib.h>

//intmain(intargc,char*argv[])

//{

//return0;

//}

是对所有行统一起作效果。

我们尝试再把注释删掉。

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>

intmain(intargc,char*argv[])//test

{//test

return0;//test

}//test

$命令在列块模式下成为黑科技,虽然每行长短不一,但是它仍然是个块。

可视模式的三种模式

可视模式的三种子模式是:

v:字符模式

V:行模式

Ctrl-v:列块模式

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

切换端点

在选择的时候,有时候会发现,移动到终点之后,起点选错了。这时我们可以用o命令切换端点,我们再回去移动到正确的起点就可以了。

可视模式下的a和i

在可视模式下,a和i已经失去了切换到插入模式的功能,主要被用于aw,iw,as,is之类的文本对象之中。

要切换到插入模式,I和A命令还是可以正常使用的。

用云栖社区APP,舒服~

相关推荐