vim - 粘贴垂直选择时避免额外的空格

标签 vim vi

我经常需要复制更大的垂直选择,例如工作时
(让我们保持文明)“getter/setter”丰富的接口(interface),例如

A very long line with something I would like to copy: ABC$
A short line with nothing$
A very long line with something I would like to copy: ABC$

这里我使用了 $ 来表示行尾。我现在做一个视觉
例如垂直选择跨所有行的第 55 列中的 A,将其拉出
并在该列之前将其粘贴为 P 并在其中插入额外的空格
第二行。
A very long line with something I would like to copy: AABC$
A short line with nothing                              $
A very long line with something I would like to copy: AABC$

有没有办法避免多余的空格?更改垂直视觉中的字符
选择似乎没有受到这个问题的影响。

最佳答案

这就是视觉 block 移动的工作原理。您正在复制第 55 列。然后用 P 粘贴.您的第二行没有延伸到第 55 列。因此,当您粘贴时,它将为您延伸该行。

使用:reg看看你的寄存器。你会注意到 A^J ^JA作为 "" 的值,未命名的寄存器。 ^J象征换行。注意 ^J 之间的空格的。这就是视觉 block 模式 yank 处理空白空间的方式,方法是用空格填充它。

关于vim - 粘贴垂直选择时避免额外的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16942485/

相关文章:

vim - 在 VimGolf : How does the #1 solution work? 挑战 "Simple text editing with Vim"

vim-fireplace Connect 命令不会运行

regex - 在 vim 的正则表达式引擎中,为什么有些元字符会被转义而有些则不会?

macos - 如何在 Mac 上的 vim 中显示 "change until end of line"?

vim - 每个检查器的合成模式图

vim:有没有一个插件可以在源代码中显示你所有的 TODO 标签?

vim - 如何在INSERT模式下使用VIM普通模式命令(遍历文本)

vim - .vimrc 配置文件在使用 'sudo' 编辑时不加载

c++ - 如何在 Vi 和 Emacs 中使用相同缩进样式的 C++ 代码?

linux - 函数定义