Vim 80字符标记,无需添加空格

时间:2014-05-23 18:00:46

标签: vim

我有一个80个字符的标记,我使用

设置
:set colorcolumn=80

但是当我这样做时,如果我突出显示并将文本复制到剪贴板,我会在该行的最后一个字符后面找到空格。如果我向需要使用剪贴板进行复制的人发送代码片段,这会非常烦人。

有没有办法让标记处于80个字符而没有添加空格?

另外,我尝试在col 80(及更少)之后突出显示字符,但我更喜欢看标记而不是猜测80个字符的位置。

1 个答案:

答案 0 :(得分:3)

这是因为您的终端正在处理选择,并且不知道vim用于打印颜色列的空格不是“真实”字符。 (即:终端只知道显示器中的内容,而不知道vim缓冲区中的内容)。如果你使用gvim它没有这个问题。

在控制台中,您可以使用mouseclipboard设置稍微模拟gvim行为。这样的事情应该有效:

set mouse=a clipboard=autoselect

这将导致vim甚至在终端中接管鼠标处理,并告诉它自动将所选文本放在"*寄存器中,这对应于X11的主要选择。如果您希望剪贴板覆盖主要选择,则可以将clipboard设置为autoselectplus

另一种选择是只使用vim命令而不是鼠标来进行这种复制和粘贴。您可以分别指定"*"+作为寄存器,手动复制到X的主要选择或剪贴板。例如:"*y<text-object>或在视觉模式下"*y只会选择,然后您可以在中间点击(或在某些软件中移位插入)以“粘贴”。

这种做法的一个变体是让你在vim中进入默认寄存器的所有内容也最终出现在X选择或剪贴板中:

set clipboard=unnamed       " copies to X's primary selection

set clipboard=unnamedplus   " copies to X's clipboard

请注意,所有这些都需要构建一个编译了X支持的vim,并且必须相应地设置$DISPLAY

另见:

  • :help 'clipboard'
  • :help 'mouse'
  • :help X11