Vimに入門してみた
はじめに
この記事はvimのプラグインなどを紹介するのではなくあくまでvimの操作についてまとめた記事です。
自分が今後よく使うだろうなと思うものだけを厳選しているので、効率よくキャッチアップできると思います。
そもそもvim・neovimって何?
vimはテキストエディタです。
linuxなどを触っているとファイルを編集するときによく使います。
物好きな方はvimをカスタマイズしてIDE(vscodeなど)のように使ってます。
neovimはVim派生テキストエディタです。
スリムになって処理速度が上がり、モダンな機能も使えるって感じです。
基本操作は変わりません。
メリット
- キーボードから手を放さずにカーソルの移動、ファイルの切り替えなどが行える
- なんかかっこいい
デメリット
- 習得するまでかなり時間を要する
個人的にはタイピングの上達の感覚と似ている気がします。
モード
vimは4つのモードを駆使して操作します。
- ノーマルモード
- 入力モード
- コマンドモード
- ビジュアルモード
各モードの簡単な役割
モード | 役割 |
---|---|
ノーマルモード | カーソル移動・文字削除 |
入力モード | 編集中のファイルに文字を入力 |
コマンドモード | 編集保存・コマンド実行・文字検索 |
ビジュアルモード | 範囲選択・コピー |
全ての起点はノーマルモードです。
違うモードに移りたかったらまずノーマルモードに移動し、ノーマルモードから他のモードに移る感じです。(コマンドで例外もあります)
ノーマルモード
遷移方法
- vimの起動時のデフォルトのモード
- 各モード時に「Esc」を押す
移動系
コマンド | 操作 |
---|---|
h・j・k・l | ←・↓・↑・→に移動 |
gg | ファイルの先頭に移動 |
G | ファイルの末行に移動 |
w | 次の単語の先頭に移動 |
b | 前の単語に移動 |
e | 単語の末尾に移動 |
:[N] | N行目に移動 |
a | 一文字前に進みインサートモード起動(eと組み合わせる) |
文字操作系
コマンド | 操作 |
---|---|
yy | 現在のカーソール行コピー |
[N]yy | N行コピー |
P | 現在の行に張り付け |
x | 一文字削除 |
dd | 現在のカーソル行削除 |
[N]dd | N行削除 |
D | 現在のカーソルから行末まで削除 |
O | 現在の行を改行してインサートモード |
状態遷移系
コマンド | 操作 |
---|---|
u | ひとつ前の状態に戻る |
Ctl+r | ひとつ後の状態に進む |
検索系
コマンド | 操作 |
---|---|
/[word] | wordを検索 |
n | 次の検索結果に移動 |
N | 前の検索結果に移動 |
入力モード
遷移方法
- ノーマルモード時に「i」「a」「s」を押す
コマンド | 操作 |
---|---|
Ctl g + j・k | ↓・↑に移動 |
Ctl h | 一文字削除 |
ctl + w | 単語削除 |
ctl + t | shiftwidth分インデント追加 |
ctl + t | shiftwidth分インデント削除 |
コマンドモード
遷移方法
- ノーマルモード時に「:」を押す
コマンド実行系
操作 | コマンド |
---|---|
![command] | command実行 |
!! | 前のコマンド実行 |
ビジュアルモード
遷移方法
- ノーマルモード時に「v」,「ctl+v」を押す
コマンド | 操作 |
---|---|
h・j・k・l | ←・↓・↑・→に範囲を選択しながら移動 |
c | 選択された範囲を削除してインサートモードに移行 |
さいごに
自分が今後vimを使っていく際に基盤となるであろうコマンドについて最低限解説しました。
もちろんまだまだ便利なコマンドがたくさんあります。
自分もまだ初心者なので「こんな便利なコマンドあるよっ」と言ってもらえると喜びます。
Vimの森を一緒に彷徨いましょう(笑)。