私の一生の間、私はこれを理解することができません。
ブラウザを使用している場合(どちらでも構いません)、テキストを選択してからVim、Neovim、またはNanoに貼り付けると、選択の最初と最後に文字が追加されます。
たとえば、このページから「回答」を選択し、ターミナルに貼り付けます。
??????answer??????
この貼り付けたデータを.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
私はこの出力を取得します:
0000000: fdbf bfb9 b083 616e 7377 6572 fdbf bfb9 ......answer....
0000010: b083 0a ...
だから、あなたは私が得ることがわかります
fdbf bfb9 b083
冒頭に追加して、
fdbf bfb9 b083
最後に追加しました。
これが何であるかについてのアイデアはありますか?
私が覚えている唯一の最近の大きな変更は、OS XをYosemiteにアップグレードすることです。したがって、これは潜在的に大規模な更新であると確信してください。
編集:ターミナルが問題の原因であると思われます。この問題なしでiTerm2を使用できました。
このエラーは、ブラケット貼り付けモードと呼ばれる機能に関係しています。[1]。 Neovimはまだサポートしていません[2]。アプリケーションがそのモードをサポートできるように動作するが、サポートできない場合は、上記のエラーが発生します。
neovim
でターミナルウィンドウを開きます。クリップボードに「always」を入力して、次のコマンドを実行します。
pbpaste | xxd
エラーはないはずです。次に、以下を実行します。
cat | xxd
入る ⌘-v
に続く Ctrl-D
。
エラーが表示されることを期待する必要があります。 2番目のケースでは、入力はアプリケーションによって処理され、アプリケーションは入力を特別なバイトでラップします。埋め込まれたバイトはstdinとして送信されます。