shioyakitaroのブログ

主にオラクルDBやLinuxについて調べたことを書いてます。

Vimテク:INSERTモードのままカーソルを移動したい時の設定

お久しぶりです。

僕はインフラエンジニアとしてキャリアをスタートしたため、普段もテキストエディタはVimを使用しています。

ここ最近、必要に駆られてプログラミングの勉強をしている時に、それは主にサンプルプログラムの模写だったんですが

INSERTモードのままカーソルを移動したい

という思いが芽生えました。

というのも、たとえばプログラミングの時には、よく関数の構文で、引数を括弧で囲うことがあると思うのですが


この時に、括弧を閉じ忘れないように、括弧を書く時には()を先に入力して、そのあと中身を記述するようにしてました。

ただ、このやり方だと、いちいち括弧がくるたびに、以下の手順を踏まないといけなくなります。

  1. Escしてノーマルモードにする
  2. カーソルが)の上にくるため、続いてiを入力しINSERTモードにする


つまり、括弧を二つ書いた後に、中身を書き始めるために2ステップ必要になります。

この2ステップを何度か繰り返していると、さすがに

INSERTモードのままカーソルを移動させたい

と思い始めました。

たくさんのクラス、メソッド、その度毎に登場する引数、囲う括弧

もう耐えることはできませんでした。

INSERTモードのままカーソルを移動させることができれば2ステップは1ステップに減りますし

たとえ1ステップでも、2ステップからの1ステップは半分だし

塵も積もれば山となるので、ステップを減らしたい、そう思いました。

というわけで調べた結果、以下を設定ファイル(~/.vimrc)に書き込めば良いことが分かりました。

imap <C-p> <Up>
imap <C-n> <Down>
imap <C-b> <Left>
imap <C-f> <Right>

引用元:qiita.com



なお、今回の僕の希望が左右のカーソル移動だったこと、Ctrl+pではデフォルトの入力補完機能を使いたかったことから

僕は上記の下二行のみを記述して使っています。

Vimを使用されている方にはおすすめです。時は金なり。

以上、Vimテクでした。