我想要一个简单的augroup,当我进入命令窗口时,它将所有缓冲区切换为绝对行号(对于Ex命令)
我目前的代码是:
augroup cmdWin
autocmd!
autocmd CmdwinEnter * setglobal nornu
autocmd CmdwinLeave * setglobal rnu
augroup END
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
:setglobal不起作用,因为它只是设置未来的默认值,但不会更新现有窗口中的值。您需要将其应用于所有当前窗口,通常使用:windo,但是当涉及特殊命令行窗口时,更改窗口是一个坏主意。setwinvar()因此,我们通过循环“远距离”切换选项:
augroup cmdWin
autocmd!
autocmd CmdwinEnter * for i in range(1,winnr('$')) | call setwinvar(i, '&number', 1) | call setwinvar(i, '&relativenumber', 0) | endfor
autocmd CmdwinLeave * for i in range(1,winnr('$')) | call setwinvar(i, '&number', 0) | call setwinvar(i, '&relativenumber', 1) | endfor
augroup END
Run Code Online (Sandbox Code Playgroud)
nu + nornu这在和之间切换nonu + rnu;nu如果您想继续并切换,请调整逻辑rnu。
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |