Vimの基礎的なコマンドとか

8174 ワード

初めに

Vim をつい先日使い始めようと決め、覚えるには使ってみるしかない、ということで後からコマンドの確認ができるようにまとめていきます。

モード一覧

  • ノーマルモード
  • ビジュアルモード
  • 挿入モード
  • 置換モード
  • コマンドラインモード

ノーマルモード

各コマンドの基本となるモード。
他のモードからノーマルモードに変更する場合は、Esc もしくは Ctrl+[Ctrl+cを押す。

挿入モード変更

キーボード入力 機能
i カーソルの前で挿入モード
a カーソルの後ろで挿入モード
I 先頭に移動して挿入モード
A 末尾に移動して挿入モード
O 前に改行して挿入モード
o 後ろに改行して挿入モード

直前のコマンド実行

キーボード入力 機能
. 直前に実行した操作をもう一度実行する

保存など

キーボード入力 機能
:w 保存
:q 終了
:wq 保存して終了
:q! 強制終了

前に戻る・元に戻す

キーボード入力 機能
u vim の操作を一同差分前に戻す
Ctrl + r uで戻して操作を元に戻す

カーソル移動

移動前に数字を入力することでその分だけ移動できる。(ex:10j)
直前にgを付けると大文字などのサイズ差を無視して表示上の移動が出来る。

基本の移動

キーボード入力 機能
k 上にカーソル移動
j 下にカーソル移動
h 左にカーソル移動
l 右にカーソル移動

基本の移動 2

キーボード入力 機能
0 行の先頭へ(インデント無視)
^ 行の先頭へ
$ 最後尾に移動
+ 下の行の先頭へ
- 上の行の先頭へ

単語移動

キーボード入力 機能
w 単語の先頭へ進む
b 単語の先頭に戻る
e 単語の末尾に進む
g -> e 単語の末尾に戻る

単語移動 2

空白のみの区切りで移動したい場合

// 「.」や「"」等で区切らない
// 以下の例だと、末尾まで移動する
document.getElementById("id");
キーボード入力 機能
W 単語の先頭へ進む
B 単語の先頭へ戻る
E 単語の末尾に進む
g -> E 単語の末尾に戻る

ページ移動

キーボード入力 機能
Ctrl + u 半分画面上へ
Ctrl + d 半分画面下へ
Ctrl + b 一画面分上へ
Ctrl + f 一画面分下へ
{ 段落ごとに上へ
} 段落ごとに下へ
gg そのファイルの先頭へ
G そのファイルの末尾へ

一文字検索(行内)

キーボード入力 機能
f その行の順方向に一文字検索
F その行の逆方向に一文字検索
t その行の順方向に一文字検索(カーソルが検索文字の手前になる)
T その行の逆方向に一文字検索(カーソルが検索文字の手前になる)

;,と組み合わせる。
同じ条件で繰り返し検索することが出来る

キーボード入力 機能
; 順方向に繰り返し検索
, 逆方向に繰り返し検索

検索移動

キーボード入力 機能
/ 順方向に文字列検索
? 逆方向に文字列検索
n 順方向に繰り返し検索
N 逆方向に繰り返し検索

括弧移動

)などの対となる括弧に移動する。

キーボード入力 機能
% 対となる括弧へ移動

表示領域

キーボード入力 機能
z -> z カーソルをウインドウの中心に移動

ジャンプリストをたどる

ファイル内及びファイル間移動が出来る。
直前に編集していたファイルに戻ることも可能。

キーボード入力 機能
Ctrl + o 変更してきた箇所に戻る
Ctrl + i 変更してきた箇所に進む

変更履歴をたどる

自分がしたファイルの変更履歴をたどる

キーボード入力 機能
g -> ; 変更してきた箇所に戻る
g -> , 変更してきた箇所に進む

削除

dcの後にあるiは inner を意味する

キーボード入力 機能
d -> w 単語を削除
d -> i -> w カーソル上の単語を削除
d -> i -> " ダブルクォーテーション内を削除
c -> w 単語を削除してインサートモード
c -> i -> w カーソル上の単語を削除してインサートモード
c -> i -> " ダブルクォーテーション内を削除してインサートモード

コピー・ペースト

Vim ではコピーのことをヤンクという。

キーボード入力 機能
y -> w 単語をコピー
y -> y | Y 現在の行のコピー
y -> $ 現在の位置から行末までコピー
y -> i -> w カーソル上の単語をコピー
y -> i -> " ダブルクォーテーション内をコピー
p vim でコピーした内容をペースト

インデント

キーボード入力 機能
> -> > インデントを追加
< -> < インデントの削除

引用

【入門】Vim で高速で移動~プラグインなしでの移動まとめ~
Vim コマンド : 便利一覧