【初心者】マジで最低限覚えておきたいvimの使い方【Vim入門】

2018年10月8日

こんにちは!

linuxやmacをターミナルで操作しているときにテキストファイルを編集したいときは、大体viもしくはvimを使うと思うんですが、GUIなテキストエディタとは操作方法が全然違うので、初めて使うと「は?文字打てないんですけど?」となります。

この記事では、vimを最低限使えるようになるための操作方法を説明します。

ちなみにvimはviを元に作られていて、基本的な操作は同じで、vimには機能が追加されている感じです。

大体Linuxにはvimがインストールされてるので、vimを使えば良いんじゃないかなと思います。

モードについて

vimにはいくつかのモードがあって、モードごとにできることが違います。

ノーマルモード

カーソルの移動、他のモードへの切り替え、コマンドでいろいろできる。

挿入(INSERT)モード

文字を入力できる。

ビジュアル(VISUAL)モード

文字を選択できる。選択した後にコマンドでいろいろできる。

ノーマルモード以外のモードでは、escキーを押すことでノーマルモードに戻ります。

とりあえずはノーマルモードとINSERTモードだけ使えれば良いと思います。

(VISUALモードについては今回は触れません)

起動する方法

vimコマンドに続けて編集したいファイルを入れます。指定したファイルがない場合は新規ファイルを作成する動きになります。

vim test.txt

終了する方法

ノーマルモードで「:」から始まるコマンドを入力して、Enterキーを押します。

:q

保存しないで終了する。quitのq。

ただし、ファイル内容を編集している場合は、「!」を付けないと終了できない。

:q!

保存しないで終了する。

ファイル内容を編集していても関係なく終了する。

:wq

ファイルを保存して終了する。writeのw。

ただし、読み取り専用のファイルは保存できない。

:wq!

ファイルを保存して終了する。

読み取り専用のファイルでも、権限があれば上書きする。

カーソルを移動する方法

普通に矢印キーでOKです。

ただ、ノーマルモード中にh,j,k,lを使ってカーソルを移動することもできます。

h, lが左右、j, kが下、上です。(キーボードの横並びを矢印キーに見立てている)

ホームポジションに近いので早い、楽、ということらしいです。

挿入モードに移行する方法

普通に文字を書いたり消したりしたいときは、挿入モードにします。

i

カーソル位置から編集モードに入る。insertのi。

他にもI, a, A, o, Oで挿入モードに入ることができますが、とりあえずiだけ知ってれば良いんじゃないでしょうか。

I

カーソルがある行の先頭に移動して編集モードに入る。

a

カーソルがある位置の1文字後ろに移動して編集モードに入る。appendのa?

A

カーソルがある行の末尾に移動して編集モードに入る。

o

カーソルがある行の下に新しい行を挿入して編集モードに入る。なんでoなんだろう?

O

カーソルがある行の上に新しい行を挿入して編集モードに入る。

編集が終わったらescでノーマルモードに戻りましょう。

もうちょっと使いこなす

ノーマルモードで使えるコマンドをもう少し紹介します。

カーソル移動系

G

カーソルをファイルの一番上に移動する。

gg

カーソルをファイルの一番下に移動する。

^

カーソルを行の一番始めに移動する。

$

カーソルを行の一番最後に移動する。

数字 + h, j, k, l(矢印キー)

数字の分だけ移動する。

(例)10j …… 10行下に移動する

undo(取り消す), redo(やり直す)

u

undo(取り消す)

control + r

redo(やり直す)

ノーマルモードで文字を削除する

dd

カーソルがある行を削除する

数字 + dd

数字の分だけカーソルのある行から後ろの行を削除する。

(例)10dd …… 10行削除する

x

1文字削除する

数字 + x

数字の分だけカーソルのある位置から後ろの文字を削除する。

(例)10x …… 10文字削除する

とりあえずこれだけ覚えてればなんとかなると思います。

ちなみにvimの日本語ドキュメントにある”よく使う”コマンドリファレンスはこちらです。

quickref – Vim日本語ドキュメント

こんなの使いこなせる人いんの?って感じですね。

(以前ガチvim使いのライブコーディングを見た事があるんですが超絶スピードでしたね。。。)

以上です。お疲れ様でした。