我经常从 SSH 终端会话中复制代码片段,在该会话中我登录到某个远程服务器并在 中打开一个文件vim
,例如将其粘贴到 SO 的答案中。经常发生的情况是,代码用尾随空格填充以匹配终端宽度。
虽然我在 Ubuntu 和 Windows 机器上都看到过这种情况(使用 putty),但我认为这种情况并不总是发生。不过,我无法弄清楚它何时发生。
所以我想知道如何避免在复制到的文本区域中出现那些尾随空格(我必须一直手动删除它们)。
请注意,文件不要服务器上有尾随空格!只有当我选择并复制一些文本时才会发生这种情况。
答案1
我相信相关的 .Xresources 设置是:
URxvt.perl-ext-common: default,selection-autotransform
URxvt.selection-autotransform.0: s/ +$//gm
我从http://www.reddit.com/r/emacs/comments/1ox5pf/why_fill_the_empty_space_with_spaces/
答案2
终端决定选择什么可能并不奇怪。更准确地说,不同的终端以不同的方式处理文本选择。在某些终端上,例如rxvt-unicode
,这可以在一定程度上得到控制。
相关的 xresources(设置)是:
URxvt.cutchars: string -- where to split words on double-clicks
URXvt.tripleclickwords: boolean -- prevent copying of the whole line
我认为最后一个正是你要找的。如果你提供更多关于设置的详细信息,熟悉你的终端的人可能会给你更合适的答案。同时,你可以尝试urxvt
。