vimのめも
TIP memo
書籍「実践vim」に出てくるtipのメモです。
本書の各々のtipの目的とはずれてることが多々あります。ただ単に僕がこのtipを読んで学んだコマンドのメモです。
TIP46
ホームポジションから指を動かさないようにする。
またh
とl
はカーソルを左右に移動させるキーだが、更なる速さを求めるならこの2つのキーも極力使わないように意識するのが良い。単語単位で移動したり、f{char}
を使うようにする。
そうしたら上で、移動を若干ミスったときのみh
やl
で微調整する。
なのでh
を連続で3回以上押すことはないようにしたい。
矢印キーを使うのは論外。
TIP47
h
,j
,k
,l
などカーソル移動をするキーの前にg
を加えると表示行上のカーソル移動ができる。
表示行とはエディタの幅が狭く、行が折り返して表示されている時に見た目次の行っぽく見えている行のこと。
僕の環境では行が折り返さない設定にしているので、使うことはない。
TIP48
w
:次の単語の先頭へ移動
b
:現在の単語の先頭へ移動
e
:現在の単語の末尾へ移動
ge
:前の単語の末尾へ移動
応用
ea
:次の単語の末尾に移動しインサートモードへ移行
WORDはwordよりも大きい。
WORDは非空白文字が連続したもの。
TIP48のコマンドの大文字を打つとTIP48のときよりも大きな幅で移動することができる。
TIP49
f{char}
:次の{char}まで末尾方向へ移動
F{char}
:行頭方向へ移動
t{char}
:次の{char}の直前の文字まで末尾方向へ移動
T{char}
:行頭方向へ移動
;
と,
で繰り返し。
よく使うのは上2つだと思う。
t
とT
は d
やc
などのオペーレーターコマンドと組み合わすのが良いらしい。
またこれらのコマンドのコツとしては出現率が低い{char}
を選ぶようにすると少ない移動で辿り着くことができる。
TIP50
/
も検索のためのコマンドで便利である。
しかし特筆すべきはf
や/
などの検索コマンドはオペレーションコマンドと組み合わせることでさらに威力を増す。
例えばd/{char}
と言った感じ。一気に消せる。
dt{char}
も便利
ct{char}
もよく使う
TIP51
i'
など、iと何かの組み合わせで中身を選択できるが、特別なものが2つ合った。
ib
でi)
と同じ
iB
でi}
と同じ挙動を示す。覚え方はわからない。
TIP52
iw
が現在のwordを選択できるのと同様に
iW
:WORD
is
:sentence
ip
:paragraph
という単位で選択できる。
TIP53
そろそろ何も見なくてもa
は○○、b
は○○,,と順番にキーバインドを言っていけるようになってる頃だろうが、どうしてもm
については思い出せないと思ったらココで出てきた。
m{a-zA-Z}
で場所のマーキングをすることができる。
'{mark}
でそのマーキングしたところに移動できる。注意すべきはシングルクォーテーションではなくバッククオーテーションである点。
シングルクォーテーションを使うとマーキングしたところの先頭に移動する。
(wordpressかなにかの仕様上、バッククオーテーションの表示ができないのでここではシングルクォーテーションで書いている。)
これと合わせて覚えておいたら良さげなものが以下
''
:(現在のファイル内で)直前に行われたジャンプ以前にいた場所に移動(バッククオーテーション)
以下はシングルクォーテーションでもバッククオーテーションでも同じ。
'^
:直前にインサートモードで挿入が合った場所に移動
'[
:直前に変更もしくはヤンクが行われた場所の先頭に移動。
']
:行末
'<
:直前のビジュアルな選択範囲の先頭に移動
'>
:行末
TIP54
%
と''(backquote)
を組み合わせた括弧の変更の方法について書かれてる。