Vimで効率よくプログラミングをするために、まず知っておくと良い操作方法
概要
エンジニアの内山です。
この記事では、Vimで効率よくプログラミングをするために、まず知っておくと良い操作方法を紹介しています。
以下の書籍の簡易版となっています。
基本的なVimの操作方法に関することが学べるので、拡張機能が入っていないVimや他エディタのVimエミュレータを使う際にも役立ちます。余裕があれば、書籍を読むことをおすすめします。
モード
Vimを操作する上で、以下の3つのモードを理解する必要があります。
ノーマルモード
コマンドを入力するモードです。カーソル移動やファイル保存などは、このモードで行います。
コマンドを駆使すれば、テキストの編集作業はノーマルモードで完結できます。
他のモードからノーマルモードに移る場合は、ESC
または Control
+ ]
を入力します。
挿入モード
テキストを入力するモードです。他のエディタと同じような動きをします。
ビジュアルモード
テキストの範囲選択をするモードです。
ノーマルモード時に、v
を入力するとビジュアルモードになります。
Control
+ v
を入力すると矩形選択のビジュアルモードになります。
範囲選択した後、d
を入力すれば削除、y
を入力すればコピーが実行されます。
まずは覚えるコマンド
ノーマルモードで使えるコマンド一覧
コマンド | 意味 |
---|---|
h j k l |
カーソル移動 |
:w |
ファイル保存 |
:q |
ファイルを閉じる |
:q! |
ファイルを強制的に閉じる |
dd |
1行削除 |
yy |
1行コピー |
kk |
1行コピーして削除 |
p |
ペースト |
w |
1単語ずつ移動 |
$ |
文末に移動 |
^ |
行頭に移動 |
: + {数字} + Enter |
{数字} の行まで移動 |
/ + {文字列} + Enter |
{文字列}でファイル内検索。n と N で該当箇所に移動 |
i |
カーソルの位置で挿入モードに移行 |
o |
カーソルの1つ下に1行追加して、挿入モードに移行 |
Shift + o |
カーソルの1つ上に1行追加して、挿入モードに移行 |
v |
ビジュアルモードに移行 |
Shift + v |
ビジュアルモード(矩形選択)に移行 |
Shift + g |
ファイルの最後の行 |
組み合わせコマンド
コマンド | 意味 |
---|---|
:wq |
ファイルを保存して閉じる |
{数字} + dd |
{数字}行だけ削除 |
{数字} + yy |
{数字}行だけコピー |
dw |
1単語(word)削除 |
cw |
1単語(word)削除して、挿入モードに移行 |
上記に見られるように、コマンドは規則性を持っています。それを手がかりに覚えておくと良いです。
マイクロマクロ
コマンド | 意味 |
---|---|
. |
一つ前の操作を実行(マイクロマクロ) |
例えば、 一行削除コマンドdd
を実行した後に、カーソル移動して、.
を入力すると、再び一行削除コマンドが実行されます。
タイプ数が減らせるので、マイクロマクロを活用することをおすすめします。
Vim操作に慣れるには
操作方法に関しては、知識を学ぶだけではなく、実際に使えるようになる必要があります。
実際に使えるようになるためには、実際に学んだ操作方法を使って見る必要があります。
慣れないうちは、プログラミングの効率が落ちてしまうかもしれません。
しかし、一時的に効率が落ちることは覚悟して、普段のプログラミングを行う時にVimキーバインドを絶対に使うようにしてみることをおすすめします。
つっかえたり調べたりしながらの操作になると思いますが、繰り返していくうちに自然と手に馴染むようになります。
ゲーム感覚で学びたい場合は、VimGolf というサイトがあります。
「お題になっている編集作業を、どれだけ少ないタイプ数で完了できるか」を競うゲームとなっています。他の人の操作方法を参考にできるので勉強になります。