美文网首页
Vim技能修炼教程(7) - 可视模式

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

作者: Jtag特工 | 来源:发表于2017-07-10 19:46 被阅读53次

可视模式

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

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

相关文章

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

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

  • Vim技能修炼教程(13) - 变量

    VimScript变量 上节我们介绍了Python和Ruby来编写Vim插件的方式。不过,Python和Ruby并...

  • 我的vim笔记_20170227

    vim 20160607 vim的几种模式 普通模式 插入模式 选择模式 可视模式面向字符文本面向行文本面向块文本...

  • vim一般模式下的复制剪切和粘贴

    基本操作 可视模式 可视模式即允许vim选中一块文本区域进行操作。 激活可视模式 说明:可视模式下的光标操作需要键...

  • Vim技能修炼教程(17) - 编译自己的Vim

    编译自己的Vim 前面我们已经对Vim有比较丰富的了解了。我们也知道Vim有很多编译时的选项,很多功能依赖于这些编...

  • VSCode 中 Vim 的常用操作

    Vim 常用的四种模式 normal(普通) 模式 insert(编辑) 模式 visual(可视) 模式 com...

  • Vim技能修炼教程(10) - 代码跳转

    程序员功能 前面我们用了5讲的篇幅来讲基本编辑的基本功:第4讲是基本操作,第5讲是操作符,第6讲行编辑ex命令,第...

  • Vim技能修炼教程(8) - 多窗口

    多窗口 如果一个vim只能开一个窗口,那肯定是有点low。尤其是写代码的时候,打开多个文件是经常的需求。 速成教程...

  • Vim技能修炼教程(11) - 代码折叠

    上一讲我们是程序员篇的第一讲,关于代码跳转。代码跳转是一个付出很少收获很大的功能。这一节我们开始一个收获很多,但是...

  • Vim可视模式与命令行模式

    可视模式 可视模式即允许vim选中一块文本区域并在其上进行操作,需要几个基本命令协同配合。 激活可视模式 通过 '...

网友评论

      本文标题:Vim技能修炼教程(7) - 可视模式

      本文链接:https://www.haomeiwen.com/subject/xksuhxtx.html