Stretch/Debian 9では、vimの切り取りと貼り付けは機能しません。

Stretch/Debian 9では、vimの切り取りと貼り付けは機能しません。

ここでは、一部のVMサーバーがDebian 9にアップグレードされました。

今すぐ使用すると、sshリモート端末間でコピーして貼り付けることはできません。

カーソルが移動してテキストを表示しているように見えますが、通常よりも面白くて他の方法ですが、Command C / Command Vを実行したりそのメニューにコピーして貼り付けたりすると、クリップボードに何もコピーされません。

また、Shiftと他のキーボードの組み合わせを使用してマウスを動かしてみましたが、肯定的な結果はありませんでした。

これは、OS / X、つまりSierraとEl CapitanとWindowsでもmobaXterm端末を使用して発生します。

この状況はvimのマウス認識によって引き起こされます。

Stack Overflowの他の質問に基づいてうまく機能しませんでし/etc/vim/vimrc.localset mouse="r"set mouse="v

set mouse=""結局、同じファイルに設定を完了し、いくつかの成功を収めました。

しかし、常に100%はうまく機能しません。また何ができますか?

ベストアンサー1

解決策:ローカルにmouse=a変更mouse=rしてください.vimrc

/usr/share/vim/vim80/defaults.vim許可されている答えが示すように、このオプションを設定する際の問題は、更新するたびに上書きされることです。久しぶりに検索して、ついに以下を見つけました。 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864074

ローカルソリューション(欠陥がある):
最初の回避策は、ローカルの.vimrcファイルを使用してその場所に設定することです。 したがって、ユーザーごとにローカルの.vimrc()を作成し、~/.vimrcそこでオプションを設定できます。または、/etc/skel新しく作成したすべてのユーザーに対して自動的に作成されるように、新しく作成します。

ただし、ローカルファイルを使用する場合は、.vimrcすべてのオプションを設定する必要があります。ローカルファイルがあると全くロードされない.vimrcからです!defaults.vimローカルファイルがない場合は、.vimrcすべての設定が上書きされますdefaults.vim

グローバルソリューション(優先):
すべてのユーザーに対してデフォルトオプションをロードし、個人設定でデフォルトを追加またはオーバーライドするグローバル設定をしたいと思います。/etc/vim/vimrc.local幸い、Debianにはput inオプションがあります/etc/vim/vimrc。したがって、このファイルを作成し、デフォルト値をロードし、再ロードしないようにして(最後に)プライベートオプションを追加できます。

次のファイルを生成してください:/etc/vim/vimrc.local

" This file loads the default vim options at the beginning and prevents
" that they are being loaded again later. All other options that will be set,
" are added, or overwrite the default settings. Add as many options as you
" whish at the end of this file.

" Load the defaults
source $VIMRUNTIME/defaults.vim

" Prevent the defaults from being loaded again later, if the user doesn't
" have a local vimrc (~/.vimrc)
let skip_defaults_vim = 1


" Set more options (overwrites settings from /usr/share/vim/vim80/defaults.vim)
" Add as many options as you whish

" Set the mouse mode to 'r'
if has('mouse')
  set mouse=r
endif

$VIMRUNTIME上記のコードスニペットで使用されている値はに似ています/usr/share/vim/vim80/defaults.vim。)

「以前のコピー/貼り付けの動作」も有効にするには、ファイルの末尾に次の行を追加します。

" Toggle paste/nopaste automatically when copy/paste with right click in insert mode:
let &t_SI .= "\<Esc>[?2004h"
let &t_EI .= "\<Esc>[?2004l"

inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()

function! XTermPasteBegin()
  set pastetoggle=<Esc>[201~
  set paste
  return ""
endfunction

おすすめ記事