備忘として超個人的なVimコマンドのチートシートを記します。
僕はVimmerを志してからまだ日が浅いので、「超個人的」とは書いたものの、大して癖のあるような代物でもありません。『基本的なコマンド+α』位のレベル感かと思います。
何かの参考になりましたら幸いです。
移動系
「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