web-dev-qa-db-ja.com

VIM Ctrl-V Windows貼り付けとの競合

私はWindowsでVIMを使用しています。問題は、使用したいということです CtrlV 視覚モードとして。ただし、このキーはWindowsの貼り付けと競合しています。このキーをリセットして、貼り付ける代わりにVIMビジュアルモードに戻すことができます。_vimrc構成ファイルでこれを設定することをお勧めします。

107
David.Chu.ca

から VIM documentation

以来 CTRLV は貼り付けに使用されます。ブロック単位のビジュアル選択を開始するために使用することはできません。使用できます CTRLQ 代わりに。使用することもできます CTRLQ 挿入モードとコマンドラインモードで、古い意味を取得します CTRLV。しかし CTRLQ 制御フローに使用される端末では機能しません。

141
Alex

_vimrcファイルを確認し、mswin.vimをソースとしているかどうかを確認します。このスクリプトは、^ vを貼り付けにマッピングします。 _vimrcファイルでその行を削除するか、mswin.vimで直接マッピングコマンドを無効にすることができます。

詳細については、vimで:helpの動作を確認してください。

39
jop

Unixのように動作するビジュアルモード(およびその他のもの)には、JOPとWindowsプログラマーの両方の提案が必要です。

Windows上のGVimで、編集メニューに移動し、スタートアップ設定をクリックし、Windows固有のゴミをコメントアウトします(二重引用符であるvimrcコメント文字を使用)。 mswin.vimファイルはctrl-vオーバーライドが指定されている場所であり、mswinオプションの動作により、矢印キーが予期したとおりにモーションを適用しないようになります(マウス選択動作も変更されます)。

"source $VIMRUNTIME/mswin.vim
"behave mswin

私もそこに黒背景のカラースキームを追加したいので、端末で見たもののように見えます(明るい背景は紙の上では素晴らしいですが、バックライト付きの画面ではひどいです):colorscheme koehler

24
dannysauer

_vimrcのこの行に問題がある場合:

behave mswin

その後、その行を削除します。

20

どこでも同じキーストロークを好むので、これを.vimrcで使用してmswin.vimをオーバーライドします。

if has('win32')
  " Avoid mswin.vim making Ctrl-v act as paste
  noremap <C-V> <C-V>
endif
14
rshdev

それについてできることがたくさんあるかどうかはわかりません。使用できます CtrlQ 代わりに。

7
Starkii

Jopのアドバイス(デフォルトの_vimrcファイルでmswin.vimを探す)と「Windowsプログラマー」のアドバイス(「mswinの動作」行を削除する)の組み合わせは、私にとって魅力的なものでした。

(担当者が低すぎて投票したり結合したりできません。誰かがこれを整理してくれます。担当者が高くなったらまた戻ってきます)

3
Rick Reynolds