記事の内容
Vim(Neovim)の基本操作についてまとめてみました。
Vimとは
- ターミナル上でファイルやコードの編集ができるテキストエディタ
VimとNeovimの違い
- Vimは昔から使われているが、動作が遅くなってきている/複雑になってきているため、軽量化や拡張性を考慮した新たなVimとしてNeovimが開発された。
- Vimでできることは、ほとんどNeovimでできる。
- 使い方もほとんど同じ。
- Neovimの方がプラグインが豊富。
モードの切り替え
Vim(Neovim)にはモードという概念があり、モードによってできることが変わります。
モード |
できること |
インサートモード |
カーソルの移動や文字の削除など |
ノーマルモード |
ファイルの編集 |
コマンドモード |
ファイルを開かずに対象ファイル内のコマンドを実行できる |
ビジュアルモード |
範囲選択など |
目的の作業に適したモードに切り替えながらファイルの編集を行います。
モードの切り替え方法は下記通りです。
モード |
コマンド |
インサートモード |
esc |
ノーマルモード |
i |
コマンドモード |
: |
ビジュアルモード |
v |
コマンド一覧
Vim(Neovim)で使用頻度の高いコマンドの一部を種類別に一覧化しました。
起動
コマンド |
機能 |
vim |
vimの起動 |
vim ファイル名.拡張子 |
対象のファイルをVimで起動 |
カーソル移動
コマンド |
機能 |
k(ノーマルモード) |
↑に移動 |
j(ノーマルモード) |
↓に移動 |
h(ノーマルモード) |
←に移動 |
l(ノーマルモード) |
→に移動 |
ファイルの編集
コマンド |
機能 |
a(ノーマルモード) |
次の文字からインサートモードに切り替え |
o(ノーマルモード) |
選択行の下に空白を入れ、インサートモードに切り替え |
O(ノーマルモード) |
選択行に空白を入れ、インサートモードに切り替え |
ファイルの閉じ方
コマンド |
機能 |
:w ファイル名 |
名前をつけて保存 |
:q |
編集終了(内容に変更がある場合は終了できない) |
:q! |
保存しないで編集終了 |
:wq |
保存して終了 |
削除
コマンド |
機能 |
x(ノーマルモード) |
1文字削除 |
dd(ノーマルモード) |
1行削除(コピー可能) |
dw(ノーマルモード) |
単語の削除 |
2 dd(ノーマルモード) |
2行削除 |
u(ノーマルモード) |
Undo(直前の変更を元に戻す) |
Control+r(ノーマルモード) |
Undo redo(Undoされた変更を再び行う) |
コピー&ペースト
コマンド |
機能 |
yy(ノーマルモード) |
1行コピー |
p(ノーマルモード) |
現在の行の下にコピー |
P(ノーマルモード) |
現在の行にコピー |
2 yy(ノーマルモード) |
2行コピー |
v(ビジュアルモード)移動してからy |
カーソルで指定した範囲のコピー |
検索/置換
コマンド |
機能 |
/検索したい文字列 例 /test |
検索 |
n |
次の検索結果に移動 |
N |
前の検索結果に移動 |
:%s/置換したい文字列/置換後の文字列/g |
一括置換 |
:%s/置換したい文字列/置換後の文字列/gc |
1つずつ確認しながら置換 |
移動
コマンド |
機能 |
:set number |
行番号の表示 |
:10 |
10行目に移動 |
{ |
段落ごとに上に移動 |
} |
段落ごとに下に移動 |
[[ |
セクションごとに上に移動 |
]] |
セクションごとに下に移動 |
参考文献
現役シリコンバレーエンジニアが教える NeoVim(VIM) + Tmux + Zsh 入門 | Udemy