Yokohama.vimの行削除のスライドみてて、オペレータが入力されたら、その行から相対的行番号を一時的に左側に表示すればいいんではないかと思った。Vimスクリプトでそんなことできるかどうかは知らんけど。
https://twitter.com/m2ym/status/25606822787
という話があったので, Vimpulseでやってみた.
必要なもの
設定
.emacsのどこかで以下のようにする.
(require 'vimpulse) (require 'linum+) (add-hook 'vimpulse-operator-state-hook 'relative-linum-mode) (add-hook 'pre-command-hook '(lambda () (relative-linum-mode -1))) (add-hook 'post-command-hook '(lambda () (relative-linum-mode -1)))
感想
Vimだとどうやるのか(やれるのか)知らないけれど, Vimpulseだと簡単すぎて吹いたw 元々相対行番号表示のためのマイナーモードを作ってあったというのも大きいけれど.
あと実際使ってみるとddとかしたときに, ちらっと表示されて結構うざい(ので0.3秒待ってから表示するようにした:追記).
追記
- 2010-09-27T05:31+0000
- 画像を追加
- C-gとかしたときにおかしいので設定を修正
- 2010-09-28T03:23+0000
- 遅延を挟むようにしてプラグイン化
http://github.com/tarao/vimpulse-plugins/blob/master/vimpulse-relative-linum.el