[英]Vim — detecting ex mode in vimrc
我以前曾在comp.editors
问过这个comp.editors
,但没有得到任何答复。
这应该是简单的:我想配置VIM set number
,只要编辑器处于Ex模式(以获得可见的行号),但从来没有在视觉模式选项集。 怎么样?
如果解决方案涉及必须先启动ex而不是vim ,那很好,但是该解决方案在理想情况下还应涵盖从可视模式进入ex模式的情况(例如,在vim可视模式下使用Q )。
一个也可以在nvi中工作的解决方案会很好,但不是必需的。
您可以尝试如下操作:
let &number = mode(1) ==# 'ce'
nnoremap <silent> Q :set number<CR>Q
当您运行vim -e
以及使用Q进入ex
模式时,它将设置number
,但是当您回到可视模式时,它不会清除它。 据我所知,没有办法检测切换模式的实际事件。 耸耸肩
Vim的Autocmd似乎是最好的选择,因为它具有事件侦听器。 一个例子是
:autocmd InsertLeave * :set nonumber
:autocmd InsertEnter * :set number
显示/隐藏行号
但是,当我查看时,我找不到用于Ex模式的任何事件 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.