我将此映射设置为yp:
noremap <C-W> :wq<CR>
并且只有当屏幕上有一个窗口时才能使它工作(即使之前还有其他一些窗口,我有 关)。我该怎么办?
答案 0 :(得分:1)
您可以使用:help :map-expr
定义条件映射;单个窗口的条件是winnr('$') == 1
:Ergo:
noremap <expr> <C-W> winnr('$') == 1 ? ":wq<CR>" : ""
如果有多个窗口,我已将映射设为无操作。您也可以返回"<C-w>"
,以避免失去非常有用的CTRL-W子模式(正如@romainl已经注释过的那样)。我也不明白你的动机; :wq
仅适用于当前缓冲区;如果其他人开放,无论如何,Vim都不会退出。