Vim中是否有办法在Visual Block中对齐文本?
体育专业。我文件的部分示例:
text text |5 sm 23 |
text text |1274 hc a4|
text text | 33 rnd bc|
text text | 28 yz 22 |
text text |9808 yz 56|
预期产出:
text text 5 sm 23
text text 1274 hc a4
text text 33 rnd bc
text text 28 yz 22
text text 9808 yz 56
我启用了virtualedit::set virtualedit=all
我添加了一个带空格的列(在我的示例中右侧|
),以便在" 23"之后创建两个空格。 " 22"之后的1个空格
然后我选择了视觉块并执行了命令:'<,'>ce
没有预期的输出。
答案 0 :(得分:1)
你所描述的通常被称为 justify (通过添加内部空格来向左和右边距);而 center 向左和向右添加空格以获得相等的金额。
有两个插件可以证明整行:
$VIMRUNTIME/macros/justify.vim
附带Vim 如果你想将它应用于块选择,你必须删除块顺序选择,将它们放在单独的行/暂存缓冲区中,证明它(到选择的原始宽度),然后猛拉回来再插入一个块。 (对于这些,我的UnconditionalPaste plugin提供了方便的glp
和gbp
映射。)根据您需要的频率,可以手动应用,也可以尝试通过自定义映射进行自动化。