私は何年にもわたって(30以上)VIとVIMを使用しており(xtermsでは、独自のウィンドウではないgvim)、マウスの中央ボタンを選択として使用してvimに与えるvim コマンドの巨大なライブラリがあります。
たとえば、私はしばしば次のようなことをします...
vi {many_hundreds_of_files}
paste vim commands using mouse - one paste per file.
選択範囲には、テストの置き換え、フォーマット、行の移動などを行うための多くのVIMコマンドが含まれ、通常、選択範囲の最後に:wおよび:next VIMコマンドで終了します。したがって、vimは次のファイルに再度貼り付ける準備ができています。これにより、特別なスクリプト(perlインプレース編集など)を実行する必要なく、非常に複雑な方法で膨大な数のファイルを更新できます。
これらのvimコマンドペーストの一部は、200行以上の長さです(画面上にポップアップするテキストファイルに保存され、「copy-all」!これらは、再フォーマットしている何千ものファイルのセットに多くの変更を加えます。しかし、特定のファイルセットのみで、日常のvim作業では使用できませんEG:テキスト/データファイルの一括再フォーマット。
問題...
私の最後のシステムパッチ(Fedora 25)の間に、vimはマウスの選択をvimコマンドではなくテキストとして貼り付けます。それを止めることができないようです!
別のシステム(Fedora 24)でも問題なく動作します。
テキストとして貼り付けたい場合は、貼り付ける前に挿入モードに入ります!挿入モードではないときに、VIMが選択範囲をテキストとして自動的に貼り付けたくありません。これはセキュリティ機能として意図されていたと理解していますが、私にとってそれは主要なユーザビリティの問題です。
これを行わないマシン(特に "kmous"のterminfoエントリ)から、terminfoエントリ(xterm-256color)を遡って試してみました。vim ":set mouse ="設定(nullです!)も確認しました。xterm(疑わしい)なのか、VIMで変更された(可能性が高い)ものなのかはわかりません。変更ログとgoogleは役に立ちませんでした。
しかし、私に古い行動をとらせるものは何もないようです。
vim
変更である可能性が高いのではないかと思います:何かがキーボードから入力されたか、マウスボタンから貼り付けられてvim
いるxterm
ことを知るにはどうすればよいですか?私はそのようなメカニズムを知りません。一方、xterm
それが実行中であることを知っているvim
ので、貼り付けをi
<esc> で囲むことができます。(a)別の種類の端末ウィンドウで(b)vim
別の名前ののコピーを試してください。これは、問題の原因を絞り込むのに役立ちます。
vim
あなたの貼り付け方法を乗っ取る以外の何か。たぶんあなたのマシンにsshやtelnetして、その方法で貼り付けてみてください。Windowsボックスがある場合は、puttyを使用してFedora25マシンにSSH接続し、その方法で貼り付けます。
gvim.exe
(graphical-vim)とcommand-lineの2つの実行可能ファイルが取得されますvim.exe
。「iTextの」gvim.exeにし、あなたが得る貼り付けitext
。vim.exeに貼り付けると、text
pastetoggle
オプションを知りませんか?