【gvim】ショートカットキーやマウスでコピー&ペーストできるようにするキーバインドの設定 | 瀬戸内の雲のように

【gvim】ショートカットキーやマウスでコピー&ペーストできるようにするキーバインドの設定

Posted: 2018-03-30


スポンサーリンク

目次

背景

Windows10でvim(gvim)のインストール&設定にも書きましたが、最近職場PCがwindows10になったのを機にメインのエディタをgvimに変更しました。

基本的には使用感に問題ないのですが、1点だけ、他のエディタのように Ctrl + c, Ctrl + v でのコピペができない ことが不満でした。

普段は yy + p で問題ないのですが、他のアプリケーション(ブラウザなど)との間で連続してコピペしたい時には少し不便です。

ということで、他のエディタと同じようにコピペできるような設定を見つけました。

 

(前提)vimのショートカット(キーバインド)の設定

vimのキーバインドは各モード毎に設定できるようになっています。
ちなみにvimのモードは以下の4つです。

モード 移行方法 説明
インサートモード ノーマルモード時にi, a, s, oなど入力 文字を入力できるモード
コマンドモード ノーマルモード時に ":" を入力 保存(:w)や置換(:%s)など、vimのコマンドを実行できるモード
ビジュアルモード ノーマルモード時に"v"を入力 表示文字列を選択できるモード

 
それぞれ、以下のコマンドで設定できます。

モード キーバインド設定方法
インサート inoremap
コマンド cnoremap
ビジュアル vnoremap
ノーマル nnoremap

 

設定例

例1: yy を 1行コピーではなくカーソルの位置から末尾までコピーに変更

この変更自体に特に意味はないですが、例として。要するに、yyy$に置き換えます。
コマンドモードで以下コマンドを入力すると、設定できます。
:nnoremap yy y$

実際の入力画面はこんな感じです。
/uploads/picture/image/61/20180406.png

 

例2: ダブルクリックで貼り付け

今度はダブルクリックに pを設定します。
:nnoremap <2-LeftMouse> p

上記の通り、ダブルクリックは<2-LeftMouse>で設定できます。

設定の永続化(gvimrc)

上記のコマンドでの設定は一時的なもののため、一度終了すると消えてしまいます。
毎回同じ設定をしたいのならば、gvimrcにそのまま記入すればOKです。

gvimをインストールしたフォルダにgvimrcというファイルがあるはずなので、その末尾に上記コマンドを記入しましょう。

 

ショートカットキーでのコピペ

それでは本題のショートカットキーでのコピペです。
まずは普通のエディタと同様、Ctrl + c でコピー、 Ctrl + v でペーストという設定です。

以下のコマンドで実現できます。

:vnoremap <C-c> y
:nnoremap <C-v> p

上記により、マウスで選択した範囲、つまりビジュアルモードで範囲選択した状態にCtrl + c を押すとコピー、その後ノーマルモード時に Ctrl + v でペースト ということが実現できます。

※なお、ノーマルモード時のCtrl + v はデフォルトではビジュアルモードの矩形選択 が設定されていますので、その設定は上書きされ使えなくなります。

 

マウスでのコピペ

これは個人的な趣味による設定なのですが、マウスだけでコピペできるのも便利だなということで、

  • ダブルクリックでコピー
  • 右クリックでペースト

という設定を作ってみました。

:vnoremap <2-LetfMouse> y
:nnoremap <RightMouse> p

これで実現できます。

 
ということで、gvimの設定でした。これで普通のエディタの使い方+vimの便利なところが使えるので、より快適なvimライフになりますね。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back