回答:
_vimrc
またはに次の行を追加します.vimrc
source $VIMRUNTIME/mswin.vim
behave mswin
ただし、視覚モードはCTRL-VではなくCTRL-Qであることに注意してください。
mswin.vimの機能の概要については、mswin.vim sourcodeを参照してください 。非常によくコメントされており、一部のコマンドが不明な場合は、vimのヘルプで簡単に調べることができます。
ソースからコンパイルされた簡単な概要は次のとおりです。
- バックスペースとカーソルキーは前/次の行に折り返します
- CTRL-XおよびSHIFT-Delはカットされます
- CTRL-CとCTRL-Insertはコピーです
- CTRL-VおよびSHIFT-Insertは貼り付け
- CTRL-Qを使用して、CTRL-Vが使用していたことを実行します
- 挿入モードでも、CTRL-Sを使用して保存します
- CTRL-Zは元に戻す。cmdlineではありませんが
- CTRL-Yは(繰り返しではありませんが)やり直しです。cmdlineではありませんが
- Alt-Spaceはシステムメニューです
- CTRL-Aはすべて選択
- CTRL-Tabは次のウィンドウ
- CTRL-F4はウィンドウを閉じる
ニッピサウルスの要求:メニューの[貼り付け]のほかにCtrl-Vを表示するために、.gvimrcに次のように入力します。
unmenu! Edit.Paste
aunmenu Edit.Paste
nnoremenu 20.360 &Edit.&Paste<Tab>Ctrl-V "+gP
cnoremenu &Edit.&Paste<Tab>Ctrl-V <C-R>+
私はそれを徹底的にテストしませんでした。期待通りに動作するかどうかを簡単に確認しました。私のために働く、それがあなたのために働くことを願って;-)
mswin.vim
すでに持っているbehave mswin
コールを。これを自分で再度呼び出す必要があります_vimrc
か?
behave mswin
少なくともVim 8.0を搭載したシステムでは、なしでも機能します。
「標準」ホットキーを使用して切り取り/コピー/貼り付けを機能させたいが、gvimの他の設定オプションを変更したくない場合は、に以下を追加してみてください~/.vimrc
。
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+
貼り付けは、ビジュアルモードと挿入モードでのみ機能するため、Ctrl-Vおよびブロック単位のビジュアルモードとの競合を心配する必要はありません。これは問題ではありません。コピーとカットを使用すると挿入モードになり、後ですぐに貼り付けることができるからです。試してみると、完全に自然に感じられます。
何度か微調整を繰り返してこの構成を思いつきましたが、今では「完璧」だと思います。現在のコピー/貼り付けの構成に少しでも不満がある場合は、これを試してみてください。きっと気に入っていただけると思います。
:help i_ctrl-r_ctrl-o
、私はに変わることに決めましimap <C-v> <ESC>"+pa
たimap <C-v> <C-r><C-o>+
; これは、カーソルが行の最初の文字の左側にある場合に期待どおりに機能し、「標準」動作を最も厳密に模倣します。
<C-v>
私のマシンではかなり高速に思えるshift + insertに変更することを考えています。ただし、プロジェクトの途中で、今すぐにvimを再起動する必要はありません。ただ、共有
通常のvimの動作を維持したいが、システムクリップボードの面倒な使用を減らしたい場合は、システムクリップボードへのアクセスを参照してください。あなたが(どのようにデフォルトのバッファとしてシステムのクリップボードを使用するようにgvimを希望の場合はx
、y
、p
、などのコマンドは、クリップボードを使用しています)、その後、あなたのvimrcに以下の行を追加します。
set clipboard=unnamed
個人的には、vimとシステムの間よりもvim内でバッファーを使用しています。そのため、システムのクリップボードを常に破壊するよりも、少し面倒なショートカットを使いたいです。しかし、それを好む人のためにオプションがあることは素晴らしいことです。
:imapコマンドでこれを追加できると思います(動作するWindowsでCtrl + Xで試してみましたが、ctrl + cを押すとコマンドがキャンセルされるようですが、vimrcで実行する必要があるかもしれません)。
:imap <C-X> "+x
:imap <C-C> "+y
:imap <C-V> "+gP
〜/ .vimrcに追加する場合は、imapの前の:を削除するだけです。
imapは挿入モードでのみバインディングを追加するため、マップなどに変更したい場合があります。:help mapmode
再マッピングとマッピング解除の詳細については、こちらをご覧ください。
幸運を!