目的
vimを使い始めたが、よく忘れるので、知ったことを書きとめて、出来れば早く覚えたい。
移動
ge b w e
<- <- ---> --->
This is-a line, with special/separated/words (and some more).
<----- <----- --------------------> ----->
gE B W E
^
<-----------
.....This is a line with example text.
<---------------- ---------------->
0 $
("....."は空白文字があることを示します)
(vimのhelpより)
検索
コマンド | 動作 |
---|---|
* |
カーソルの下の単語を検索する |
編集
ノーマルモードでのコマンドと動作。
コマンド | 動作 |
---|---|
o |
カーソルがある行と次の行の間に空行を追加する。 |
O |
カーソルがある行の上に空行を追加する。 |
I |
カーソルがある行の最初の非空白文字に移動し、挿入モードを開始する。 |
A |
カーソルがある行末に移動し、挿入モードを開始する。 |
~ |
カーソル位置の大文字/小文字を変更し、カーソルを次に進める。 |
J |
カーソルがある行と次の行の間にある改行文字を削除する。 |
x |
カーソル下の文字を削除する。dl のショートカット。 |
D |
カーソルがある地点から行末まで削除する。d$ のショートカット。 |
dd |
カーソルがある行全体を削除する。 |
daw |
カーソルがある単語を削除する。"delete a word" |
caw |
カーソルがある単語を削除して挿入モードを開始する。"change a word" |
cis |
カーソルのある文を削除して挿入モードを開始する。削除された分の後にある空白は含まない。"change Inner Sentence" |
cas |
カーソルのある文を削除して挿入モードを開始する。削除された分の後にある空白は含む。"change a Sentence" |
yy |
カーソルがある行全体をコピー(ヤンク)する。 |
. |
直前のコマンドを繰り返す。 |
CTRL-V |
四角いブロック(矩形、くけい)の範囲選択。 |
"*yy |
カーソルがある行全体をクリップボードへコピーする。 |
"*p |
クリップボードからプットする。 |
テキストオブジェクト
こちらがとてもわかりやすくまとまっているため、あとで読む。
a と i
aw
<----->
Some more boring to try out commands. Teacher Smith ....
<---->
iw
as
<------------------------------------>
Some more boring to try out commands. Teacher Smith ....
<----------------------------------->
is
a"
<------------------------------------->
"Some more boring to try out commands."
<----------------------------------->
i"
aとiの違いをうまく言葉で説明できないなぁ。
aやiの後に続く移動コマンドはたくさんあり、よく使いそうなのは以下の通り。
テキストオブジェクト | 意味 |
---|---|
aw |
"a word" |
iw |
"inner word" |
as |
"a sentence" |
is |
"inner sentence" |
a" |
"a quoted string" |
i" |
"inner quoted string" |
+---------------------------------------+
+----------+ | text object |
| operate | | +------------+ +---------+ |
| command | + | | "a" or "i" | + | move | |
| (d,c..) | | | command | | command | |
+----------+ | +------------+ +---------+ |
+---------------------------------------+