rocky-engineer7の技術日記

webエンジニアを目指して奮闘中!!

【初学者向け】vimの基本操作をまとめてみた

はじめに

本記事では、vim初心者である筆者が自身のアウトプットのため、これからvimを学習される方向けに作成したものです。 vimの名前は聞いたことあるけど、vimを使うメリットって何?vimってどう扱うの?
などの疑問を解消できるように書いていきます。

vimとは?

vimとはキーボードオンリーで操作可能なエディタのことです。 キーボード入力で以下のことが出来ます。 - テキスト間の移動 - テキストの選択 - テキストの挿入、削除、コピペ - ページ内検索

またLinux(サーバ用のOS)では、vimのみで環境構築することもあるため慣れておくといざという時便利です。

vimのメリット

メリットとしては、キーボード入力だけで完結出来るため、高速で編集可能なところ。 キーボードを入力して、右手でマウスを持って対象をクリックして...とやるより遥かに効率が良いですよね。

モードの種類

vimはキーボードのみで操作編集などをするので、今入力しているのがただの文字なのかそれともコマンドとして入力しているのかを区別するためにモードがあります。

 モード名      主な動作            
NORMAL カーソル移動、テキストコピペ、テキスト削除、入れ替え 、、etc                 
INSERT テキストの入力                                 
VISUAL テキストの選択                           

vimを起動したらノーマルモードからスタートします。 そこで適宜コマンドを入力してモードを切り替えて、文章を入力したりします。 例えばですが、ノーマルモードからインサートモードへ切り替えの場合は、ノーマルモードの状態で「i」ボタンを入力することでインサートモードへ切り替えが出来ます。 ノーマルモードへ戻りたい時はキーボード左上の「ESC」ボタンで戻ります。

モードは下部に表示されているので、今何モードなのかを確認しながら進めていくようにしましょう。

スクリーンショット 2023-08-05 20.34.10.png

コマンド紹介

ここからはよく使うコマンドを紹介します。 vimのコマンドはめちゃくちゃあるので、一気に覚えようとはせずに
最低限のコマンドを覚えてそこから必要に応じてググって新たに知識を追加していくのがベストだと思います。

実際に動かしながら覚えてみたいよという方は、ターミナルからvimtutorと入力するとvimチュートリアルが動かしながら出来るのでおすすめです。所要時間は35分ほどらしいですが、自分は操作してメモしてとやっていたら1時間ぐらい使ってました。

(*)上記はMacでの方法なので、windowsを使用されてる方はvim windows やり方などでググってみてください。

それではコマンド紹介へいきたいと思います!

カーソル移動

カーソルの操作は以下のように行います。 位置キーでも動きますが、キーボードによっては位置キーがない場合もあるので コマンド入力で慣らしていきましょう。

コマンド 効果
h カーソルを左にずらす
j カーソルを下に下げる
k カーソルを上に上げる
l カーソルを右にずらす

1行あたりの文字が多かったり、何百行の移動するのに上下左右にボタンポチポチするの面倒!!と思われた方もいると思います。 僕も同じこと思いました..笑 下記のコマンドで、さらにカーソル移動が楽になります。

コマンド 効果
0 行頭へ移動
$ 行末へ移動
w 単語の末尾へ移動
gg ファイルの先頭へ移動
nG , :n ファイルのn行目へ移動
G ファイルの末尾へ移動
H 画面の最上行へ移動
L 画面の最下行へ移動
ctrl + b 前の画面へ移動
ctrl + f 次の画面へ移動

操作系

エディタ本来の役割は編集なので、入力と保存について表で見ていきましょう。 モードでもインサートについて触れましたが、表で見ると分かりやすいのでこちらにまとめます。 |コマンド|効果| |:--|:--| |a|カーソルの場所から1文字進めてInsertModeに入る| |i|カーソルの場所からINSERTモードに入る| |:w|ファイルの保存(Control-s)| |:q|実行中のタブを閉じる| |:wq|上を組み合わせて保存して閉じることもできる| |:w!|のように最後に[!]をつけると強制的に処理します|

簡単なコピペや削除コマンドなどは以下の通りです。

コマンド 効果
x カーソル直下の文字を消します
dd カーソルがある1列削除
yy 1列コピー
p ペースト
u 操作を1つ戻す(Control+z)

応用になりますが、部分選択をしてコピペ,カーソルの位置からのアクション,削除後にINSERTモードで変更などもあります。

コマンド 効果
v + 移動コマンド + y 範囲してしてコピー
yw カーソルの位置から次の単語までをコピー
P コピーした内容をカーソル位置の上行に貼り付け
dw カーソルの位置から空白含む単語範囲で削除
de カーソルの位置から空白含まない単語範囲で削除
D/d$ カーソル位置から行の末尾までを削除
ce カーソルの位置から空白含まない単語範囲で削除した後にINSERTモードに変更
cc 行全体を削除した後に変更INSERTモードへ変更
C カーソル位置から行の末尾までを削除した後にINSERT

検索操作

ファイル内検索はこのコマンドで出来ます。

コマンド名 動作
/ カーソル位置から下方向にキーワードを検索
? カーソル位置から上方向にキーワードを検索

例えば/apple ボタン押下することでappleを検索します

おわりに

vim初学者の私が実際にvimtutorや他の教材を学習したものを解説してみました。 vimtutor学習と今回のブログ記事を通じて少し動かせるようになったので、ブラインドタッチなどと同様にコツコツ練習して出来るようにしていきたいです! 今後、vimを学び始める方の学習の参考になれば幸いです。 お読みいただきありがとうございました。