5

For the life of me, I can't figure this out.

When using a browser (doesnt matter which), if I select text, then paste in Vim or Neovim or Nano, I see characters added to the beginning and end of my selection.

For example, I select "answer" from this page, then paste it over in Terminal I get:

??????answer??????

Saving this pasted data to file with .bin extension and then opening in Vim with this auto command helper:

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

I get this output:

0000000: fdbf bfb9 b083 616e 7377 6572 fdbf bfb9  ......answer....
0000010: b083 0a                                  ...

So, you can see that I get

fdbf bfb9 b083

added to the beginning, and I get

fdbf bfb9 b083

added to the end.

Any ideas on what this is about?

The only recent major change I can remember is upgrading OS X to Yosemite, so sure that's potentially a large update.

EDIT: I suspect Terminal is the source of the issue. I've been able to use iTerm2 without this problem.

8
  • Not exactly sure what you are copying, but could they be Unicode curly quotes?
    – baum
    Feb 25, 2016 at 19:35
  • @baum, I explicitly mentioned an example of what I am copying "For example, I select 'answer' from this page, then paste it over in Terminal I get"...
    – mrk
    Feb 26, 2016 at 15:05
  • two questions - what do you get when you paste in it in TextEdit, and what Terminal settings are you using (actually: "profile" settings in Terminal.app's preferences) Mar 1, 2016 at 17:27
  • @FlorenzKley not sure TextEdit is a viable option here, it forces me to save in RTF or ODT or other formats which add all kinds of extra c**p into the file :) But did it anyways and opening the file with vim or hex editor, I don't get the fdbf stuff in it. I have narrowed down the issue to Terminal.
    – mrk
    Mar 1, 2016 at 18:46
  • @FlorenzKley without dumping my entire Terminal preferences, some notable settings are (untouched by me aka The Defaults)...terminfo = xterm-256color, text-encoding = Unicode (UTF-8)
    – mrk
    Mar 1, 2016 at 18:48

1 Answer 1

3
+50

This error has to do with a feature known as bracketed pasted mode[1]. Neovim does not support it yet[2]. You get the error above if an application acts like it can support that mode, but fails to support it.

In neovim open a terminal window. With 'always' in the clipboard, run the following:

pbpaste | xxd

There should be no errors. Now run the following:

cat | xxd

Enter ⌘-v followed by Ctrl-D.

You should expect to see the errors. In the second case, input is being handled by the application, which wraps the input with special bytes. The padded bytes are sent as stdin.

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

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

1
  • 1
    niiice! And around so long. Learn something new every day :-) Mar 9, 2016 at 3:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .