天天看点

菜鸟vimer成长记——第2.2章、visual模式目的使用步骤激活可视模式移动文本操作符独有功能

  vi是没有可视模式的。然而大多数编辑软件都都是有可视模式。所以我猜测vim是几乎迫于无奈才有了visual模式。

  个人建议,能不用就不用。这样能直接在头脑里处理好文本,锻炼文本处理能力,同时能转变过来思维习惯。

掌握visual的基本操作步骤

记住visual独有的用法

  visual的操作可以分为三个步骤。可以对比normal的二个步骤:操作符+动作命令。

激活可视模式。一个是因为绝大时间都在normal模式下,需要切换。第二个是因为visual有三种情况。

移动文本末端。通过移动文本的末端来选择高亮文本。

输入操作符。最后通过操作符完成本次文本操作。

  Vim 具有3 种不同的可视模式,分别用于操作字符文本、行文本或块文本。

  对应的开启语法如下:

命令

用途

v

 激活面向字符的可视模式

V

 激活面向行的可视模式

Ctrl+v

 激活面向列块的可视模式

gv

 重选上次(字符,行,块都可以)的高亮选区

gn

激活面向字符的可视模式并选中最近一次搜索匹配的文本。相当于搜索的时候n。如果连续使用gn命令,则选取到下一块匹配文本

gN

激活面向字符的可视模式并选中最近一次搜索匹配的文本。相当于搜索的时候N。如果连续使用gn命令,则选取到上一块匹配文本

  和normal模式的动作命令的用法一样。这里不在赘述。

操作按键

o

切换高亮选区的活动端。即切换高度的开头和结尾

O(shift+o)

和o一样。只有在visual是块模式的时候,它表示的是当前行被选中的开头和结尾

  操作符也和normal模式基本一样。除了下面列的“特殊情况”的地方需要注意,其他的用法都是一样的。

在可视模式及操作符待决模式中,i 和a 键表示文本选择的开头。即和normal的文本选择的a和i一个意思。所以按i,a并不能进入insert模式。

在可视模式及操作符待决模式中,o 和O 键表示切换高亮选区的活动端。所以也不能进入insert模式。

  只要可能,最好用操作符命令,而不是可视命令。

  使用可视模式下的命令进行大写转换:

  1、我们先转一个单词为大写。

菜鸟vimer成长记——第2.2章、visual模式目的使用步骤激活可视模式移动文本操作符独有功能

  2、好,我们执行一下j. 命令,把光标移到下一行并重复上次的修改。此命令在第二行工作得很好,但如果我们再执行一次,最终就会得到这个看起来有点古怪的结果:

  

菜鸟vimer成长记——第2.2章、visual模式目的使用步骤激活可视模式移动文本操作符独有功能

  使用普通模式下的操作符命令进行大写转换:

      

菜鸟vimer成长记——第2.2章、visual模式目的使用步骤激活可视模式移动文本操作符独有功能

  结论:如果我们想使点命令能够重复某些有用的工作,那么最好要远离可视模式。作为一般的原则,在做一系列可重复的修改时,最好首选操作符命令,而不是其对应的可视模式命令。甚至我个人的建议是:不要使用visual模式。

  这个是visual独有的功能。在操作一些配置文件,而且文本复杂度很低的时候(比如不需要经过大脑计算就可以到达的,每个人因熟练度不同而异,比如3-10行),可以使用。

  例如:

修改hosts文件里域名的指向,光标前后几行的域名从内网的192.168.1.16修改为127.0.0.1的时候。

在编写脚本的时候,光标前后几行代码需要一会注释掉一会取消注释测试时。