我正在使用屏幕将我正在使用 Vim 查看的代码从一个窗口复制到另一个当前正在使用 Vim 编辑文件的窗口。不幸的是,当粘贴到第二个窗口时,在每个换行符之后,我的输入左侧会出现越来越多的空白。这个空白是如何进入我的缓冲区的?
我试图关闭自动缩进以防 Vim 添加额外的空格,但问题仍然存在。
以下是可能相关的信息:
- 操作系统 10.6.8
- 这两个文件都是 Unix 风格的。
- 屏幕版本:4.00.03
- Vim 版本:7.3
- 底层终端类型为:xterm-color
我正在使用屏幕将我正在使用 Vim 查看的代码从一个窗口复制到另一个当前正在使用 Vim 编辑文件的窗口。不幸的是,当粘贴到第二个窗口时,在每个换行符之后,我的输入左侧会出现越来越多的空白。这个空白是如何进入我的缓冲区的?
我试图关闭自动缩进以防 Vim 添加额外的空格,但问题仍然存在。
以下是可能相关的信息:
你是用鼠标还是其他非vim方式复制?如果是,您必须:set paste
在粘贴之前和:set nopaste
之后进行。请参阅:h pastetoggle
快速映射。
如果你所有的 vim 会话都是本地的并且 Vim 支持它(:echo has('clipboard')<CR>
应该 echo 1
),你应该使用你的系统剪贴板:在没有那种讨厌的缩进的情况下"+y
进行拉拽和粘贴。"+p
或者,更好的是,在同一个 Vim 会话中打开您的文件。
问题来自
Vim 在行尾添加一个字符,一些用户添加例如 ↲</p
listchars
>eol
要删除这个额外的字符,您不需要在 listchars 中设置 eop,例如:
set listchars=tab:\ \ ,trail:-,extends:>,nbsp:\ ,precedes:<
制表符将被空格替换,尾随空格将出现 - 等...
由于 eol 不存在,因此不会显示,这将解决您的问题