根据windows打开的键位映射
Key mapping based depending on a number of windows open
我将此映射设置为:
noremap <C-W> :wq<CR>
并希望仅当屏幕上有一个 window 时才工作(即使之前有其他 windows,我有
关)。我该怎么做?
您可以使用 :help :map-expr
定义条件映射;单个 window 的条件是 winnr('$') == 1
:因此:
noremap <expr> <C-W> winnr('$') == 1 ? ":wq<CR>" : ""
如果有多个 windows,我已将映射设为空操作。您还可以 return "<C-w>"
然后避免丢失非常有用的 CTRL-W 子模式(正如@romainl 已经指出的那样)。我也不明白你的动机; :wq
仅适用于当前缓冲区;如果其他人打开,Vim 无论如何都不会退出。
我将此映射设置为:
noremap <C-W> :wq<CR>
并希望仅当屏幕上有一个 window 时才工作(即使之前有其他 windows,我有 关)。我该怎么做?
您可以使用 :help :map-expr
定义条件映射;单个 window 的条件是 winnr('$') == 1
:因此:
noremap <expr> <C-W> winnr('$') == 1 ? ":wq<CR>" : ""
如果有多个 windows,我已将映射设为空操作。您还可以 return "<C-w>"
然后避免丢失非常有用的 CTRL-W 子模式(正如@romainl 已经指出的那样)。我也不明白你的动机; :wq
仅适用于当前缓冲区;如果其他人打开,Vim 无论如何都不会退出。