vim - Vim:选择超过行尾的矩形块
问题描述
如何在 Vim 中选择超出行尾的矩形文本块?
假设我有
aa
bbb
cc
dddd
ee
我想选择一个在所有行上扩展四个字符的矩形块。如果_
被认为是空白,那么我想要:
aa__
bbb_
cc__
dddd
ee__
矩形可视块C-v
仅延伸到所选最后一行的末尾:
C-x <SPC>
在 Emacs 中,我可以使用( )做我想做的事rectangle-mark-mode
。;)
解决方案
具有参差不齐的边框的块状视觉模式
要将逐块视觉选择扩展到所有覆盖行的末尾,您可以按$
将 Vim 切换到“不规则边框”选择模式。这个“技巧”在以下位置提到:help v_b_A
:
通过逐块选择,A{string} 将在块的每一行附加 {string} 到块的末尾。由于不同的线长,块 RHS 不是直的,有一些不同的行为:
- 块是用 $ 创建的。在这种情况下,字符串被附加到每行的末尾。
- 块是用 {move-around} 创建的。在这种情况下,字符串被附加到每一行的块的末尾,并且插入空格以填充到块的末尾列。
虚拟编辑
解决此问题的另一种方法是通过以下'virtualedit'
选项:
:set virtualedit=all
这使得光标移动可以访问行尾之后的空间,因此您可以根据需要扩展选择范围。拉动该文本将插入空白填充以形成一个矩形块,因此行为与上述替代方法不同。
推荐阅读
- c# - 如何更改 SignalR 最大消息大小?
- javascript - 比较使用“D MMM YY - HH.MM.SS”格式的 javascript 中的日期
- react-native - 如何在每个页面的 react-native-floating-action 中给出 distanceToEdge
- laravel-5 - 我想在生成/保存账单时减少库存
- mysql - 将具有相同 id 的数据合并在一列中
- qt - Qt5:德语变音符号(ä、ö、ü char)和 QStrings 的问题
- python - 使用 apply 函数在 pandas 中创建一个具有舍入值的新列
- python - 绘制每个工作日和周数的线图
- html - 使用 flexbox 的图像未在 div 中居中
- windows - 有没有一种简单的方法可以将 Mustache 模板引擎集成到 Windows 构建系统中?