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

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

可视模式

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

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

目录
相关文章
|
开发工具
Vim 模式切换 | 命令集
Vim 模式切换 | 命令集
548 0
|
12月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
913 3
|
Linux 开发工具
Vim有哪些基本模式,它们分别有什么用途?
Vim,作为Linux和其他操作系统上最受欢迎的文本编辑器之一,以其独特的模式化操作而闻名。这些模式为Vim提供了强大的功能和灵活性,使得用户可以高效地进行文本编辑。
304 5
|
开发工具
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
|
Ubuntu Unix Linux
Linux Vim最全面的教程
Linux Vim最全面的教程
|
开发工具
Vim教程:深入了解如何删除换行符
【4月更文挑战第3天】
1029 1
Vim教程:深入了解如何删除换行符
|
Linux 开发工具
【Linux】vim正常模式命令集
【Linux】vim正常模式命令集
211 0
【Linux】vim正常模式命令集
|
开发工具
【专栏】Vim的可视模式是其强大之处,允许图形化选择文本
【4月更文挑战第28天】Vim的可视模式是其强大之处,允许图形化选择文本,。通过`v`、`V`和`Ctrl + v`进入。基本操作包括选择文本、复制/剪切(`y`、`d`)、粘贴(`p`)及退出(Esc或`<C-c>`)。高级技巧涉及结合其他Vim命令、宏录制和与系统剪贴板交互。掌握可视模式能大幅提升文本编辑效率。
528 1
|
Ubuntu Linux 开发工具
Linux Vim最全面的教程
Linux Vim最全面的教程
826 0
|
程序员 开发工具