October 05, 2020
Vimコマンドの個人的なチートシートです。
Ctrl+d
とCtrl+u
でカーソルを半画面分移動できることを知ってから、ページ内の移動速度がかなり向上しました。
あと、gg
とG
はよく使います。よくどっち(gg
/G
)がどっち(一番上/下)に移動するのかこんがらがってしまっていたのですが、僕は『G
の方が大きくて重そうだから一番下に移動する』という風に覚えています。
キー | 動作 |
---|---|
h/j/k/l |
左/下/上/右 |
w |
次の単語の先頭へ進む。 |
e |
次の単語の末尾へ進む。 |
b |
前の単語の先頭へ戻る。 |
{ |
段落単位で前に戻る。 |
} |
段落単位で次へ進む。 |
Ctrl-d |
半画面ページダウン。 |
Ctrl-u |
半画面ページアップ。 |
gg |
ファイルの先頭に移動する。 |
G |
ファイルの末尾に移動する。 |
gd |
同じファイル内にある変数の定義場所に移動する。 |
「削除=d
のイメージだったのですが、c
を覚えたら、削除&インサートの流れがだいぶスムーズになりました。
キー | 動作 |
---|---|
c |
changeコマンド。テキストの一部を削除し、即座にインサートモードに入ることができる |
d |
deleteコマンド。テキストの一部を削除する。(※インサートモードにはならない。) |
cc |
行を丸ごと削除してインサートモードに入る。 |
A
は覚えておくと地味によく使うので便利です。
キー | 動作 |
---|---|
v |
文字単位のビジュアルモードに入る。 |
V |
行単位のビジュアルモードに入る。 |
:term |
ターミナルモードに入る。 |
a |
カーソルの直後からインサートモードに入る。 |
A |
行の末尾からインサートモードに入る。($aと同じ。) |
o |
カーソルの1行下に新しい行を作ってからインサートモードに入る。 |
O |
カーソルの1行上に新しい行を作ってからインサートモードに入る。 |
i |
カーソルの手前からインサートモードに入る。 |
I |
行頭からインサートモードに入る。 |
ここら辺の細かい検索条件・正規表現は今後の課題です。(習得したらだいぶ強いんだろうなぁ…。)
キー | 動作 |
---|---|
/hoge |
hogeを検索 |
?hoge |
hogeを後方検索 |
:substitute |
置換を行う。 |
さらなるVim力を身に付けるためには:help
コマンドを引きまくる必要がありそうです。
キー | 動作 |
---|---|
:help |
Vimマニュアルを開く。 |
:w |
ファイルを保存する。 |
:wq |
ファイルを保存して閉じる。 |
:q! |
ファイルの内容を保存せずに終了する。 |
:e |
ファイルを開く。 |
:ls |
存在しているバッファの一覧を表示する。 |
:b |
異なるバッファに表示を切り替える。 |
:Ex |
Netrw(ファイルマネージャー)を開く。 |
「追加でこのファイルも編集しちゃいたい」みたいな時に便利になると思います。(まだそこまで多用していない。)
キー | 動作 |
---|---|
:sp |
ファイルを水平分割して開く |
:vs |
ファイルを垂直分割して開く |
Ctrl-w + H/J/K/L |
現在のウィンドウ自体を移動する |
僕はプラグイン管理に「vim-plug」を使っているので、そのコマンドも少しだけ記載。
キー | 動作 |
---|---|
:PlugInstall |
.vimrcに記載されているプラグインをインストールする。 |
:PlugUpdate |
インストールされている全てのプラグインをアップデートする。 |
:PlugClean |
.vimrcから削除したプラグインを削除する。 |
起動時に下記のコマンドを実行することで、Vim起動時に各プラグイン含めた起動時間を記したログ出力ファイルが生成される。
$ vim --startuptime startuptime.log