😺
Vimの基本的なコマンド
はじめに
Vim の学習をしたので、基本的なコマンドをまとめてみました。
Vim とは
Linux 向けのテキストエディタは数多くあるが、有名なものは「Vim」と「Emacs」の2つあります。Vim は、最小限のキー操作でさまざまな編集操作が効率よくできる一方で、特殊な操作体系を持っています。
モード
Vim には主に 4 つのモードがあり、用途によりモードを切り替えて操作します。
モード | 用途 |
---|---|
ノーマルモード | カーソル移動、ヤンク、貼り付け、削除など |
インサートモード | 文字入力、貼り付けなど |
ビジュアルモード | 範囲選択、選択範囲のヤンク、削除など |
コマンドラインモード | 変更の保存、vim 終了、文字列置換など |
コマンド
起動・終了・保存・モード切り替え
コマンド | 実行内容 |
---|---|
vim | 起動 |
command + t | 新しいタブを開く |
i | インサートモードに切り替え |
a | 次の文字からインサートモードに切り替え |
o | 選択行の下に空白を入れ、インサートモード |
O | 選択行の空白を入れ、インサートモード |
option + space | ターミナルの表示を切り替え |
esc | ノーマルモードに切り替え |
:q! | 保存しないで編集終了 |
:w ファイル名 | 名前を付けて保存 |
:w | 上書き保存 |
:q | 編集終了 |
:q! | 保存しないで終了 |
:wq | 保存して終了 |
view | View モードで起動(ファイルを書き換えない時に使う) |
文字削除・コピー・ペースト
コマンド | 実行内容 |
---|---|
x (Normal mode ) | 1 文字削除 |
dd (Normal mode ) | 1 行削除(コピー可能) |
2dd (Normal mode ) | 2 行削除 |
dw(Normal mode ) | 単語の削除 |
u (Normal mode) | Undo(元に戻す) |
Control + r (Normal mode) | Undo redo |
yy (Normal mode) | 一行にコピー |
2 yy(Normal mode) | 2 行コピー |
p (Normal mode) | カーソルの後ろにペースト |
P (Normal mode) | カーソルの手前にペースト |
. | 直前の変更を繰り返す |
:! 実行コマンド (例:python test.py) | コマンドを実行(指定して python ファイルを実行) |
!! | 前のコマンドを実行 |
: set number | 行番号を表示する |
移動
コマンド | 実行内容 |
---|---|
k | ↑ に移動 |
j | ↓ に移動 |
h | ← に移動 |
l | → に移動 |
:10 | 10 行目に移動 |
$ | 行末に移動 |
0 | 先頭に移動 |
^ | インテントの先頭に移動 |
{ | 段落ごとに上に移動 |
} | 段落ごとに下に移動 |
[[ | セクションごとに上に移動 |
]] | セクションごとに下に移動 |
gg | ファイルの先頭に移動 |
G | ファイルの最後に移動 |
ctrl + o | 移動前に戻る |
> | 右にインテントを移動 |
< | 左にインテントを移動 |
検索と置換
コマンド | 実行内容 |
---|---|
/[検索ワード] | 検索 |
n | 次の検索結果に移動 |
N | 次の検索結果に移動 |
R | 置換 |
:%s/[検索ワード]/[置換後のワード]/g | 一括置換 |
.%s/[検索ワード]/[置換後のワード]/gc | 確認しながら置換 |
Vim のコマンドは多く慣れるまで大変ですが、慣れたら便利だと思うので積極的に使っていきたいです。
参考
Discussion