【一人 vimrc advent calendar 2017】Windows ライクなキーマッピングを使う【5日目】
一人 vimrc advent calendar 2017 5日目の記事になります。
今回は Windows ライクなキーマッピングのお話。
Vim でも Windows ライクなキーマッピングを行いたい
さてさて、Windows ユーザが Vim を使うとお馴染みの
Ctrl + x
:切り取りCtrl + c
:コピーCtrl + v
:貼り付けCtrl + z
:アンドゥCtrl + s
:保存Ctrl + a
:全選択- etc...
みたいなショートカットを使いたくなりますよね。
わたしもそうでした。
このような Windows ライクなショートカットを Vim で使用したい場合 mswin.vim
というスクリプトファイルが利用できます。
mswin.vim
を使う
mswin.vim
は Vim のランタイムに付属されているので以下のように読み込むことですぐに使うことができます。
source $VIMRUNTIME/mswin.vim
これにより
Ctrl + x
:切り取りCtrl + c
:コピーCtrl + v
:貼り付けCtrl + z
:アンドゥCtrl + s
:保存Ctrl + a
:全選択- etc...
のような機能がノーマルモードやインサートモード、ビジュアルモード、コマンドラインモードなどで利用することができます。
詳細は :help mswin.vim
や :e $VIMRUNTIME/mswin.vim
などして直接スクリプトファイルを見てみるとよいでしょう。
mswin.vim
を調整する
やってね!!これで Vim でも Windows のショートカットを使えるようになったよ!!!
とはいえ、Vim で <C-v>
(ブロック選択) や <C-c>
(処理の中断)、<C-a>
(文字のインクリメント)、<C-x>
(文字のデクリメント) などを潰してしまうのはちょっとつらいです。
そこで以下のように『ノーマルモードでは元のキーマッピングを使うよう』に調整してみましょう。
source $VIMRUNTIME/mswin.vim " ノーマルモードでは元のキーマッピングを利用する nnoremap <C-x> <C-x> nnoremap <C-v> <C-v> nnoremap <C-a> <C-a> nnoremap <C-c> <C-c> " この辺りは便利そうなので残して置いたり " nnoremap <C-z> <C-z> " nnoremap <C-s> <C-s>
他にも『元の Vim のキーマッピングを使いたい!』みたいなのがあれば上記のように設定を追加していくとよいでしょう。
まとめ
『Vim なら Vim のショートカット(キーマッピング)を使うべきだ』という人もいるかと思いますが、最初から全ての Vim のキーマッピングを覚えるのはとても大変です。
なので Vim を使い始めた方や Vim の操作に慣れない方は、まずはこのような便利スクリプトを利用して徐々に慣れていくとよいのではないでしょうか。
Vim の操作がわからなくてストレスがたまるよりも、このように自分の使い勝手のよい設定を行い『ストレスフリーな環境を構築していくこと』が Vim を使用する第一歩でもあると思います。
まあ、とはいえ <C-v>
や <C-c>
などの重要なキーマッピングを潰してしまうのも事実なのでその辺りは細かく調整していく必要はあるとは思います。
そんな感じで『Vim を使い始めたけど操作が難しい…』という方は mswin.vim
を利用してみるのはどうでしょか。