如何在VIM中编写条件映射?

时间:2017-02-03 12:19:28

标签: vim key-bindings

我想nnoremap Q :q!<cr>nnnoremap Q :bd<CR>,我如何混合这两个绑定?
我理想的是要使Q绑定足够聪明,以便知道我们何时处于缓冲区中,以及何时这是窗口中的最后一个缓冲区。

1 个答案:

答案 0 :(得分:8)

map <expr>:h map-<expr>)是您的朋友。

nnoremap <expr> Q yourConditionExpression ? ':q!<cr>':':bd<cr>'

在上面

yourConditionExpression

可以是布尔表达式E.g. 3>0或函数返回布尔值。你可以把检查逻辑放在那里。