Vim 如何为CmdwinEnter/CmdwinLeave设置nornu/rnu

Vim 如何为CmdwinEnter/CmdwinLeave设置nornu/rnu,vim,vi,Vim,Vi,我想在中禁用relativeEnumber。因为有些事情我需要知道命令行模式下的绝对行号(通过:转到someline) 我的设置如下,但它不起作用… autocmd CmdwinEnter * set norelativenumber autocmd CmdwinLeave * set relativenumber 不知何故,此设置()工作正常: autocmd CmdwinEnter * let b:ei_save = &eventignore | set eventig

我想在中禁用
relativeEnumber
。因为有些事情我需要知道命令行模式下的绝对行号(通过
转到someline)

我的设置如下,但它不起作用…

  autocmd CmdwinEnter * set norelativenumber
  autocmd CmdwinLeave * set relativenumber
不知何故,此设置()工作正常:

  autocmd CmdwinEnter * let b:ei_save = &eventignore | set eventignore=CursorHold,InsertEnter
  autocmd CmdwinLeave * let &eventignore = b:ei_save
我想知道为什么我的**relavitenumber`的
CmdwinEnter
/
CmdwinLeave
不起作用,我该怎么做。

  autocmd CmdwinEnter * set norelativenumber
  autocmd CmdwinLeave * set relativenumber

顺便说一下, 此方法在以下情况下运行良好:

以及:

  • 我的Vim版本是:7.4.250
  • 是我的全部
  • 这种情况发生在我的Win7和Linux系统中
  • 是的,我读过,“最佳答案”也不起作用

您被事件名称弄糊涂了:
CmdwinEnter/Leave
,它们将由enter/leaving命令行窗口触发,而不是命令行模式触发<代码>:h cmdwin

我想,在命令模式下,如果按ctrl-f键(输入cmd-win),您应该会看到行号的变化,它将应用于命令行窗口,您必须找到主编辑的窗口id才能更改设置

要捕获进入命令行模式的“事件”,您可以将正常模式映射到函数,然后进行预处理


要捕获离开cmd模式的“事件”,如果当前模式更改为正常模式,则必须始终检查当前模式。

使用ex命令的相对范围如何?e、 g.
:+3,+7j
:+3
用于转到一条同样有效的线路。我只是不明白,
set eventignore=CursorHold,InsertEnter
可以用于CmdwinEnter,但为什么
set norrelativenumber
不能呢?您好,首先感谢您的回答。我有几个问题,1。无论设置
autocmd CmdwinEnter*设置否相关编号
autocmd CmdwinLeave*设置相对编号
,按ctrl+f键(输入cmd win>后),windows行号始终为绝对编号。你可以试试那个
autocmdwinenter*让b:ei_save=&eventignore | set eventignore=CursorHold,InsertEnter
,此命令在我按下
后工作(光标消失)。为什么
无法设置相关编号。如何找到“主编辑的窗口id,以更改设置”