「relativenumber、いいよね」「いい……」
vim の機能を全て知っているわけもないが、知ってる機能の中で、初めて知ったとき最も衝撃的だったのは relativenumber かもしれない。relativenumber 好きだ、大好きだ。お前が好きだ、お前が欲しい!
というわけでこっそりと wasavi へ移植する。
内部的には、wasavi の行番号は css のカウンタだ。したがって、操作できるのは counter-reset、counter-increment くらいで、それほど自由度があるわけではない。そういう環境下でカーソル行を 0 とした相対的な行番号ぽくするには、バッファの counter-reset を -(カーソル行位置+1) で初期化する。カーソルの上方向は負の符号付きになってはしまうが、これでだいたい目的は達せられる。
しかし実際に作ってみるとやっぱり負符号が気になる……。
counter-increment は負数もとれるようですから、間接セレクタでカーソル行の後ろは counter-increment を反転させればよいのでは。
なるほど。
それでいってみます。ありがとうございます。