vim を使用して、ssh を介していくつかのシステムでファイルを編集していますが、その中には -clipboard オプションがコンパイルされているものとないものがあります。したがって、xclip を使用して、テキストの一部を X クリップボードにコピーしようとしています。すぐに ssh 経由で自分のマシンにパイプで戻り、そこで使用できます。
今、私は知っています、私は使うことができます
:'<,'>w !xclip<CR><CR>
行全体をクリップボードにコピーしたいが、行全体をコピーしたくない場合は、任意の選択が必要です
それを修正するために、選択を@iレジスタに保存し、それをxclipにパイプするバインディングを作成しました
:vmap <F7> "iy<CR>:call system('echo ' . shellescape(@i) . ' \| xclip -i')<CR>
1行内のテキストの選択ではうまくいくようですが、エスケープ文字が保持されているようで、たとえば次のように複数行をコピーすると
Plugin 'vim-scripts/buftabs'
Plugin 'jlanzarotta/bufexplorer'
Plugin 'kien/ctrlp.vim'
Plugin 'terryma/vim-multiple-cursors'
xclipで次のようになります-改行のエスケープはまだあります
Plugin 'vim-scripts/buftabs'\
Plugin 'jlanzarotta/bufexplorer'\
Plugin 'kien/ctrlp.vim'\
Plugin 'terryma/vim-multiple-cursors'\
シェルエスケープとエスケープのいくつかのバリエーションを使用してみましたが、それらはすべてエスケープ文字をそのまま残しているようです。自分で修正するのに十分なvimscriptingを知りません。
vim と xclip に関してすでにいくつかの質問があることは知っていますが、どれも答えを見つけることができませんでした。
前もって感謝します!