Vim のカスタマイズ 〜キー割り当て変更の実例〜
こちらのページでは、 Vim のカスタマイズ 〜キー割り当て変更方法〜 に従ってキー割り当て変更の実例を幾つかご紹介したいと思います。.vimrcに追記して下さい。
なるべく個人の好みによらず無難に役立ちそうなものをチョイスしてみました。
ビジュアルモードで < > キーによるインデント後にビジュアルモードが解除されないようにする
vnoremap < <gv vnoremap > >gv
行が折り返されている時(set wrap) j k キーによる上下移動が論理行単位ではなく表示行単位で行われるようにする
nnoremap j gj nnoremap k gk nnoremap gj j nnoremap gk k
(逆に論理行単位で移動したい場合は、gj, gk を使います。)
n, N キーで「次の(前の)検索候補」を画面の中心に表示する
nnoremap n nzz nnoremap N Nzz
コマンドラインモードで %% を入力すると現在編集中のファイルのフォルダのパスが展開されるようにする
cnoremap %% <C-R>=expand('%:p:h').'/'<cr>
こちらのページで紹介されていたのを参考にしました。
Y キーで「カーソルから行末までコピー(Yank)」
以下 Vim のデフォルトのキー配置の一部です。
cc | 行全体を変更 |
C | カーソル位置から行末までを変更 |
dd | 行全体を削除 |
D | カーソル位置から行末までを削除 |
yy | 行全体をコピー |
Y | 行全体をコピー |
ご覧のとおり、C や D といった大文字の編集コマンドは「カーソル位置から行末まで」作用するのに対して、Y は yy と同じく「行全体」に採用します
vi との互換のためにこのような仕様になっているそうですが、あまり直感的ではありません。Y を C や D と同様にカーソル位置から行末までに作用するように変更したい場合は下のように設定します。
nnoremap Y y$