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

可视模式

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

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

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

我们假设这样一段代码:

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

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

  1. 在第一行首先用Ctrl-v进入列选择模式
  2. G跳到最后一行
  3. I//<空格><Esc>

就变成了下面这样:

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

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

我们尝试再把注释删掉。

  1. 第一行行首,0Ctrl-v
  2. G跳到最后一行
  3. 2l,向右移动两次
  4. x, 将这一块全删除

还有更神奇的,假如我们想在每句话后面添点东西如何做?
我们来看看vim的黑科技:

  1. 2G
  2. 0
  3. Ctrl-V
  4. G
  5. $
  6. A // test<Esc>

于是这段代码变成了这样:

#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命令还是可以正常使用的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,976评论 9 468
  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 30,956评论 3 48
  • 穆旦先生在他晚年卧病在床形将离去的时候写了一首诗: 但如今,突然面对着坟墓, 我冷眼向过去稍稍回顾, 只见他曲折灌...
    黑黑黑黑黑创阅读 3,280评论 0 0
  • 03 程晓原谅了钟辉 上一篇:懂事的英子 目录 程晓接通了钟辉的电话。 “亲爱的,你到家了没?”钟辉在电话另一头,...
    Suven阅读 3,122评论 2 8
  • 显示所有文件扩展名 Finder->偏好设置(command+,)->高级->显示所有文件扩展名 下载JDK JD...
    likly阅读 1,742评论 0 0

友情链接更多精彩内容