即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

[vim] 块选择 (Visual Block)

编程语言 weixin_36210698 6℃ 0评论
本文目录
[隐藏]

1.前言

则才我们提到的简单的vi操作过程中,几乎提到的都是以行为单位的操作。那么如果我想要搞定的是一个块范围呢?举例来说,像下面这种格式的文件:

192.168.1.1 host1.class.net
192.168.1.2 host2.class.net
192.168.1.3 host3.class.net
192.168.1.4 host4.class.net
...

假设我想要将host1, host2等复制起来,并且加到每一行的后面,也即每一行的结果要是


“192.168.1.2 host2.class.net host2”


这样的情况时,一般编辑器似乎不容易达到这个需求,但是咱们的vim是可以的。那就是使用块选择(Visual Block)。当我们按下v或V或者[Ctrl] + v时,这个时候光标移动过的地方就会开始反白,这三个按键的意义如下表如示

按键 意义
v(小写) 字符选择,会将光标经过的地方反白选择
V(大写) 行选择,会将光标经过的行反白选择
[Ctrl]+v|块选择,可以用长方形的方式选择数据
y 将反白的地主复制
d 将反折的地方删除

2.举例

下面实际进行我们需要的操作。就是将host再加到每一行的最后面,我们可以这样作:

  1. 将光标移动到第一行的host那个h上头,然后按下[Ctrl]+v,左下角出现块示意


    这里写图片描述
  2. 将光标移动到最底部,此时光标移动过的区域会反白


    这里写图片描述
  3. 此时可以按下”y”来进行复制,当你按下y之后,反白的块就会消失不见。
  4. 最后,将光标移到到第一行的最右边,并且再用编辑模式向右按两个空格键,回到一般模式后,再按”p”后,你会发现很有趣


    这里写图片描述

通过上述的功能,你可复制一个块,并且是贴在某个“块的范围”内,而不是以行为单位来处理你的整份文件。这玩意儿是非常有帮助的,至少在进行排列整齐的文本文件中复制/删除块时,会是一个非学棒的功能。

3.参考文献

《鸟哥的私房菜-基础学习篇》

转载请注明:CodingBlog » [vim] 块选择 (Visual Block)

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情