繁体   English   中英

Vim —在vimrc中检测ex模式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM