(๑•̀ㅂ•́)و✧
'<,'>
visualモードで選択後、おもむろに:
を押してコマンドラインモードに入るとでてくるこいつ
:'<,'>
バグった (バグってない)
mark
'<と'>はmark
Vimにはmarkという機能があって、過去のカーソル位置を記憶しています。
markのつけ方
normalモードでm{mark}
です。
例: mc
markへの移動の仕方
'{mark}
でmarkをつけた行の行頭へ移動`{mark}
でmarkをつけたところに移動
例: `c
または 'c
特殊なmark
明示的にmarkしなくてもVimが勝手にmarkしてくれるものがあります。
その一つ(二つ)が<
と>
です。
それぞれ直前のVisual選択の始まりと終わりを表してます。
なので
1. Visualで適当に選択
2. <Esc>
3. `<
or `>
を押す
すると、Visualの開始・終了位置にカーソルがジャンプすることがわかります。
コマンドラインモード
コマンドラインモードの書式
ざっくり:[range]Exコマンド
です。
有名な置換コマンド:%s/foo/bar/g
で例えると
* %
がrange
* s
がExコマンドです。
range
上の例の%
は特殊で、ファイル内全部を表します。
rangeには数字を与えることで行数の指定ができたりします。
例として、:2d
で2行目が消えます。
カンマで区切ると範囲が指定できるので、:3,6d
で3-6行目が消え去ります。
※d
は削除コマンド
まとめ
というわけでこいつ→:'<,'>
は、
直前にVisualモードで選択した範囲を行単位で、コマンドラインモードのrangeとして表している。
ということでした。
そのまんまですね。