OS X 复制粘贴到终端将 fdbf bfb9 b083 添加到选择的开头和结尾

mrk*_*mrk 5 terminal vim osx-yosemite macos

对于我的生活,我无法弄清楚这一点。

使用浏览器时(与哪个无关),如果我选择文本,然后在 Vim 或 Neovim 或 Nano 中粘贴,我会看到字符添加到我选择的开头和结尾。

例如,我从此页面选择“答案”,然后将其粘贴到终端中,我得到:

??????answer??????
Run Code Online (Sandbox Code Playgroud)

将此粘贴的数据保存到扩展名为 .bin 的文件中,然后使用此自动命令助手在 Vim 中打开:

augroup Binary
   au!
   au BufReadPre  *.bin let &bin=1
   au BufReadPost *.bin if &bin | %!xxd
   au BufReadPost *.bin set ft=xxd | endif
   au BufWritePre *.bin if &bin | %!xxd -r
   au BufWritePre *.bin endif
   au BufWritePost *.bin if &bin | %!xxd
   au BufWritePost *.bin set nomod | endif
augroup END
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

0000000: fdbf bfb9 b083 616e 7377 6572 fdbf bfb9  ......answer....
0000010: b083 0a                                  ...
Run Code Online (Sandbox Code Playgroud)

所以,你可以看到我得到

fdbf bfb9 b083
Run Code Online (Sandbox Code Playgroud)

添加到开头,我得到

fdbf bfb9 b083
Run Code Online (Sandbox Code Playgroud)

添加到最后。

关于这是关于什么的任何想法?

我记得的最近唯一的重大变化是将 OS X 升级到 Yosemite,所以确定这可能是一个很大的更新。

编辑:我怀疑终端是问题的根源。我已经能够在没有这个问题的情况下使用 iTerm2。

cdo*_*orn 3

此错误与称为括号粘贴模式[1]的功能有关。Neovim 尚不支持[2]。如果应用程序表现得好像可以支持该模式,但实际上并不支持该模式,则会出现上述错误。

\n\n

打开neovim一个终端窗口。在剪贴板中使用“always”,运行以下命令:

\n\n
pbpaste | xxd\n
Run Code Online (Sandbox Code Playgroud)\n\n

应该没有错误。现在运行以下命令:

\n\n
cat | xxd\n
Run Code Online (Sandbox Code Playgroud)\n\n

输入\xe2\x8c\x98-v后跟Ctrl-D.

\n\n

您应该会看到这些错误。在第二种情况下,输入由应用程序处理,该应用程序用特殊字节包装输入。填充的字节作为标准输入发送。

\n\n

[1] https://cirw.in/blog/bracketed-paste

\n\n

[2] https://github.com/neovim/neovim/issues/3476

\n