はじめに
最近dotfilesを改めて作り直し、ついでにvimのコマンドなども勉強し直しました。
なので、その備忘録です。
モードの切り替え
コマンド | 説明 |
---|---|
i |
インサートモードに移行する |
I |
行頭に移動し、インサートモードに移行する |
a |
カーソルの次の位置に移動し、インサートモードに移行する |
A |
行末に移動し、インサートモードに移行する |
s |
カーソルがある位置の1文字を削除し、インサートモードに移行する。 |
S |
カーソルがある行をすべて削除し、インサートモードに移行する。 |
c |
行末に移動し、インサートモードに移行する |
C |
カーソルがある位置から行末までを削除し、インサートモードに移行する。 |
o |
下に一行追加してインサートモードに移行する |
o |
上に一行追加してインサートモードに移行する |
v |
ビジュアルモードに切り替える |
Esc |
ノーマルモードに戻る |
カーソル移動
コマンド | 説明 |
---|---|
h |
左に1文字移動する |
j |
下に1行移動する |
k |
上に1行移動する |
l |
右に1文字移動する |
w |
次の単語の先頭に移動する |
W |
次の単語の先頭に移動する(記号を含めた単語) |
e |
次の単語の終端に移動する |
E |
次の単語の終端に移動する(記号を含めた単語) |
b |
前の単語の先頭に移動する |
B |
前の単語の先頭に移動する(記号を含めた単語) |
0 |
行頭に移動する |
$ |
行末に移動する |
テキストの編集
Vimには、
- 範囲を選択してからコマンドを実行する方法
- コマンドを実行してから範囲を指定する方法
の両方あります。
例えば
<select>x
: 選択範囲を消す
# 単語の先頭で下記のコマンドをノーマルモードで試して下さい。
vwd
d<motion>
: <motion>
でカーソルが一回動いた部分を消す
# 単語の先頭で下記のコマンドをノーマルモードで試して下さい。
dw
と結果は同じですが2通りあります。
それを踏まえて下記のコマンドを参照ください。
コマンド | 説明 |
---|---|
<select>x ,d<motion>
|
テキストを削除 |
<select>y ,y<motion>
|
テキストをコピー |
<select>c ,c<motion>
|
テキストを削除してインサートモードに移る |
<select>U ,gU<motion>
|
テキストを大文字にする |
dd |
カーソルのある行を削除する |
yy |
カーソルのある行をコピーする |
p |
カーソルの下/右に削除またはコピーしたテキストを貼 |
P |
カーソルの上/左に削除またはコピーしたテキストを貼り付ける |
. |
直前のコマンドを繰り返す |
u |
Undo |
<C-r> |
Redo |
テキストの選択(ビジュアルモード)
コマンド | 説明 |
---|---|
v |
通常のビジュアルモード。カーソルの移動で選択範囲を変更できる。 |
V |
行単位のビジュアルモード。カーソルの移動で選択範囲を行単位で変更できる。 |
CTRL-V |
矩形ビジュアルモード。選択範囲を矩形(縦型)にすることができる。 |
o |
選択範囲の始点と終点を切り替える。 |
ファイルの保存と終了
コマンド | 説明 |
---|---|
:w |
ファイルを保存する |
:q |
Vimを終了する |
:q! |
変更を破棄して強制的にVimを終了する |
:wq |
ファイルを保存してVimを終了する |
おわりに
Vim入門:基本操作から始める2に続きます。