2012-11-12 3 views
5

私はビジュアルモードに入ったときにVimに相対線番号に切り替えようとしていますが、その後は絶対番号に戻ります。Vimのビジュアルモードで相対線番号を有効にするにはどうしたらいいですか?

autocmd InsertEnter :set rnu 
autocmd InsertLeave :set nu 

問題がある、私はビジュアルモードの等価を見つけることができないよう:私はこのように使用することができInsertEnterInsertLeave autocmdイベント、があります気づきました。

答えて

5

ビジュアルモードのイベントはありません(まだ実装されていますが、パッチを送信できます)。ビジュアルモードに入るためには、単にビジュアルモードに入るいくつかのコマンドオーバーライドすることができます:'number'の復元

:nnoremap <silent> v v:<C-u>set nonu rnu<CR>gv 
:nnoremap <silent> V V:<C-u>set nonu rnu<CR>gv 
:nnoremap <silent> <C-v> <C-v>:<C-u>set nonu rnu<CR>gv 

を離れて、明示的に<Esc>を経由して出て行くから、ビジュアルモードを停止し、多くのコマンドがあるので、より困難です。私が考え出すことができるのは、CursorMovedのトリガーです。

vnoremap <Esc> <Esc>:set nu<CR> 
:autocmd CursorMoved * if mode() !~# "[vV\<C-v>]" | set nu | endif 
関連する問題