在学《鸟哥的Linux私房菜》,看到VIM,其中的块选择感觉非常有意思
刚刚我们提到的简单的 vi 操作过程中,几乎提到的都是以行为单位的操作。那么如果我想要搞定的是一个区块范围呢? 举例来说,像底下这种格式的文档
<a href="http://s3.51cto.com/wyfs02/M02/74/72/wKioL1Yd_xjB4CaVAAGG5hsGrlU417.jpg" target="_blank"></a>
假设我想要将 host1, host2... 等等复制起来, 并且加到每一行的后面,亦即每一行的结果要是
<a href="http://s3.51cto.com/wyfs02/M02/74/76/wKiom1Yd_8Dhcj8EAAAnew8ufk0752.jpg" target="_blank"></a>
这样的情况时, 在word或者EditPlus等传统的视窗型编辑器似乎不容易达到这个需求,
但是 vim 是办的到的喔!那就使用区块选择 (Visual Block) 吧!
来实际进行我们需要的动作吧!就是将 host 再加到每一行的最后面,你可以这样做:
使用 vim hosts 来开启该档案
将游标移动到第一行的 host 那个 h 上头,然后按下 [ctrl]-v ,左下角出现区块示意字样:
<a href="http://s3.51cto.com/wyfs02/M00/74/76/wKiom1YeAEfhrHNVAAFItOLdyJc699.jpg" target="_blank"></a>
将游标移动到最底部,此时游标移动过的区域会反白!如下图所示:
<a href="http://s3.51cto.com/wyfs02/M01/74/72/wKioL1YeAV2SvTJLAAGtY0mAIXA716.jpg" target="_blank"></a>
最后,将游标移动到第一行的最右边,并且再用编辑模式向右按两个空白键
<a href="http://s3.51cto.com/wyfs02/M00/74/76/wKiom1YeAT6yTfG_AAGEoaSsSAc308.jpg" target="_blank"></a>
回到一般模式后, 再按下‘ p ’后,如下图所示:
<a href="http://s3.51cto.com/wyfs02/M02/74/72/wKioL1YeAiHS8YCrAAHLbB2aKaM459.jpg" target="_blank"></a>
透过上述的功能,就可以复制一个区块,并且是贴在某个‘区块的范围’内,而不是以行为单位来处理整份文件喔! 至少在进行排列整齐的文字档案中复制/删除区块时,会是一个非常棒的功能!
感谢鸟哥的介绍哦
本文转自lisiyun22 51CTO博客,原文链接:http://blog.51cto.com/lisiyun/1702850,如需转载请自行联系原作者