VIM Ctrl-VがWindows貼り付けと競合する


110

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

回答:


145

VIMドキュメントから:

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


2
私は_vimrcをいじるよりもこれが好きです。それはすぐに機能し、私が将来シリアル端末を使用する可能性は低いので、Ctrl-S / Ctrl-Qフロー制御は問題ではありません。
マイケルディロン

Linux(Gnome端末)では、CTRL-K CRを使用する方が良いと思いましたが、この答えを最初に見つけました。
jalanb 2014年

3
何らかの理由でShift、Windowsではビジュアル選択にキーを使用する必要がありましたが、Linuxでは使用しませんでした。
stevesliva 2016年

1
ありがとうuser132014!Ctrl-Qを使用してビジュアルブロックモードでナビゲートするには、h、j、k、lを使用する必要があることがわかりました。これは、WindowsのgVimエディターの場合です。Ctrl-Qを使用してビジュアルブロックモードでナビゲートすると、gVim for Windowsで矢印が機能しないようです。
Ratnesh Chandna

3
@RatneshChandna- Shift矢印と一緒に使用しますか?私は同じ振る舞いを見てShiftいますが、どういうわけかそれがうまくいったことを発見しました。h / j / k / lが機能することを知りませんでした。
stevesliva 2016年

40

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

詳しくは、vimで:help behaveを実行してください。


24

Unixのように機能するビジュアルモード(およびその他のもの)には、JOPとWindows Programmerの両方の提案が必要です。

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

"source $VIMRUNTIME/mswin.vim
"behave mswin

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



14

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

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

7

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


4

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

(私の担当者が低すぎて、投票したり結合したりできません-誰かが私のためにこれを片付けます、または担当者が高くなったら戻ってきます)


3
つまり、コメントを残そうとしていましたか?
クリストファーボトムズ

1
へえ、私はめったにないスタックオーバーフローユーザーです(そのため私の評判は低いです)
リックレイノルズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.