VIMのすすめ
はじめに
こんばんは。今回は僕が普段から利用している、VIMについて書いていきます。
VIMとはヴィムと読み、一言で表現するとすごいテキストエディタです。
元々はUnix環境で利用されるviより派生して作られているとのことです。
何がすごいかというと、キー操作のみで全てが完結するエディタです。
viエディタと重なる機能もありますが、使いこなせると非常に便利ですので、使い方を見ながら業務でも普段使いでも使い続ければ、高速にさまざまな操作ができるようになると思います。
よく使う使い方
Windows環境・Mac環境では、VSCodeなどで利用可能です。また、Mac環境・Linux環境ではターミナルなどで利用可能です。
コマンド入力する際は`vi`コマンドを利用します。
開始と終了
VIM開始と終了は以下のコマンドを利用します。
※始めの頃は特に終了のためのコマンドは最低限覚えておき、いざという時に、脱出できるようにしておきましょう。
viコマンドを入力する(Linuxなどでターミナルを利用する場合):q!でviを終了する(保存は行わない)quetと覚える:wq!で上書き保存して終了。write, quetと覚えるviエディタでiを入力し、INSERTモードにする- INSERTモードで
escキーでINSERTモード・REWITEモード終了 rで1文字のみ上書きRでUPDATE(REWITE)モード
まとめると、以下のようになるかと思います。
| コマンド | 挙動 |
|---|---|
i | INSERTモード移行 |
r | 次入力する文字が上書きされる |
R | REPLACEモード移行 |
ESCキー | NORMALモードへ |
:q! | 編集内容を保存せず終了 |
:w | 上書き保存 |
:wq! | 保存して終了 |
各種モードについて
大前提の知識で、5つのモードを意識する必要があります。
- NORMALモード
- INSERTモード
- REPLACEモード
- VISUALモード
- COMMANDモード
よく使うコマンド
以下のコマンドはNORMALモードで効きます。
感覚的なところですが、各コマンドへ`SHIFT` を追加することで、文末にコマンドが効くか文頭に効くかがきまります。
| コマンド | 挙動 | タイプ |
|---|---|---|
o | 文末に改行を追加しINSERTモードへ | 改行 |
O(SHIFT + o) | 文頭に改行を追加しINSERT | 改行 |
/{文字列} | 文字列検索(下方向) | 検索 |
?{文字列} | 文字列検索(上方向) | 検索 |
n | 次を検索 | 検索 |
N | 前を検索 | 検索 |
/{検索文字}/{置換後文字}/g | ファイル内一括文字列置換 | 置換 |
I | 行頭へ移動しINSERT | 編集 |
A | 行末へ移動しINSERT | 編集 |
x | 一文字削除 | 編集 |
^または0 | 行頭へ移動 | 移動 |
$ | 行末へ移動 | 移動 |
gg | ファイルの先頭へ | 移動 |
G | ファイルの最後へ | 移動 |
y | ヤンク(ctrl + cにあたる) | コピペ |
p | プット(ctrl + pにあたる)(改行+ペースト) | コピペ |
P | プット(カーソルの前の行へプット)(ペースト+改行) | コピペ |
d | デリート(ctrl + xもできる) | コピペ |
k | 上へ移動 | 移動 |
j | 下へ移動 | 移動 |
h | 左へ移動 | 移動 |
i | 右へ移動 | 移動 |
w | 単語ごとに前へ移動 | 移動 |
:{行番号} | 指定した行番号へ移動 | 移動 |
:set num | 行数を表示 | その他 |
レジスタ
ここからは難しいです。使えなくてもよいです。
:regを入力してみてください。
レジスタ一覧が表示されます。レジスタとは、電子回路の用語で**物置**をイメージしていただくとよいと思います。
"1pを実行すると、レジスタ1の内容がテキストとして出力されます。"ayyを実行すると、レジスタaへカーソルの1行がセットされます。"Byyを実行すると、レジスタbへカーソルの1行がセットされます。さらに、別の行へ移動し、もう1度実行するとレジスタBへカーソルの行が追記されます。
まとめ
いかがでしたでしょうか。覚えるためにつかうのではなく、使い業務効率化できるようにするために使えるようになっていけるよう、普段から使用していくとよいと思います。
個人ではわざわざ使用しなくても、、と思わずいずれ業務で積極的につい買えるようになるためと思い、積極的に利用しましょう。

