VIMのすすめ

はじめに

こんばんは。今回は僕が普段から利用している、VIMについて書いていきます。
VIMとはヴィムと読み、一言で表現するとすごいテキストエディタです。
元々はUnix環境で利用されるviより派生して作られているとのことです。

何がすごいかというと、キー操作のみで全てが完結するエディタです。

viエディタと重なる機能もありますが、使いこなせると非常に便利ですので、使い方を見ながら業務でも普段使いでも使い続ければ、高速にさまざまな操作ができるようになると思います。

よく使う使い方

Windows環境・Mac環境では、VSCodeなどで利用可能です。また、Mac環境・Linux環境ではターミナルなどで利用可能です。
コマンド入力する際は`vi`コマンドを利用します。

開始と終了

VIM開始と終了は以下のコマンドを利用します。
※始めの頃は特に終了のためのコマンドは最低限覚えておき、いざという時に、脱出できるようにしておきましょう。

  1. vi コマンドを入力する(Linuxなどでターミナルを利用する場合)
  2. :q!でviを終了する(保存は行わない)quetと覚える
  3. :wq!で上書き保存して終了。write, quetと覚える
  4. vi エディタでiを入力し、INSERTモードにする
  5. INSERTモードでescキーでINSERTモード・REWITEモード終了
  6. rで1文字のみ上書き
  7. RでUPDATE(REWITE)モード

まとめると、以下のようになるかと思います。

コマンド挙動
iINSERTモード移行
r次入力する文字が上書きされる
RREPLACEモード移行
ESCキーNORMALモードへ
:q!編集内容を保存せず終了
:w上書き保存
:wq!保存して終了

各種モードについて

大前提の知識で、5つのモードを意識する必要があります。

  1. NORMALモード
  2. INSERTモード
  3. REPLACEモード
  4. VISUALモード
  5. COMMANDモード

よく使うコマンド

以下のコマンドはNORMALモードで効きます。

感覚的なところですが、各コマンドへ`SHIFT` を追加することで、文末にコマンドが効くか文頭に効くかがきまります。

コマンド挙動タイプ
o文末に改行を追加しINSERTモードへ改行
OSHIFT + 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へカーソルの行が追記されます。

まとめ

いかがでしたでしょうか。覚えるためにつかうのではなく、使い業務効率化できるようにするために使えるようになっていけるよう、普段から使用していくとよいと思います。

個人ではわざわざ使用しなくても、、と思わずいずれ業務で積極的につい買えるようになるためと思い、積極的に利用しましょう。