Edited at

Vimのこれ→ '<,'>

More than 3 years have passed since last update.


(๑•̀ㅂ•́)و✧

:smile: :smile: :smile: :smile: :smile:


'<,'>

visualモードで選択後、おもむろに:を押してコマンドラインモードに入るとでてくるこいつ

:'<,'>

バグった :exclamation: :exclamation: :exclamation: :exclamation: :exclamation: :fearful: :fearful: :fearful: :fearful: :fearful: :fearful: :fearful: (バグってない)


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として表している。

ということでした。

そのまんまですね。

:laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: