我之前在comp.editors
中已经问过此问题,但未收到任何回复。
这应该很简单:我想在编辑器处于ex模式时(<获取可见的行号)将 vim 配置为set number
,但是从不在视觉中设置该选项模式。怎么样?
如果解决方案涉及必须启动 ex 而不是 vim ,那很好,但理想情况下解决方案也应该涵盖从进入ex模式的情况视觉模式(例如,在 vim 视觉模式中使用 Q )。
也适用于 nvi 的解决方案会很好,但不是必需的。
答案 0 :(得分:0)
您可以尝试这样的事情:
let &number = mode(1) ==# 'ce'
nnoremap <silent> Q :set number<CR>Q
当您运行number
时以及当您使用 Q 进入vim -e
模式时,这将设置ex
,但当您返回时它将无法清除它到视觉模式。据我所知,没有办法检测切换模式的实际事件。 耸肩
答案 1 :(得分:-1)
Vim的Autocmd似乎是你最好的选择,因为它有赛事听众。一个例子是
:autocmd InsertLeave * :set nonumber
:autocmd InsertEnter * :set number
显示/隐藏行号
但是,当我查看时,我找不到Ex模式的任何events。