5
我試圖讓Vim在進入可視模式時切換到相對行編號,然後返回到絕對編號。我注意到有InsertEnter
和InsertLeave
自動命令事件,我可以用這樣的:如何在Vim的可視模式中激活相關行編號?
autocmd InsertEnter :set rnu
autocmd InsertLeave :set nu
問題是,我似乎無法找到可視模式等同。
我試圖讓Vim在進入可視模式時切換到相對行編號,然後返回到絕對編號。我注意到有InsertEnter
和InsertLeave
自動命令事件,我可以用這樣的:如何在Vim的可視模式中激活相關行編號?
autocmd InsertEnter :set rnu
autocmd InsertLeave :set nu
問題是,我似乎無法找到可視模式等同。
對於可視模式沒有這種事件(尚未實現;您可以提交補丁)。對於進入可視化模式,你可以簡單地重寫進入可視化模式的幾個命令:的'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