在vim中是否可以在正常模式下执行条件映射? 我看过它的插入模式。 我想重新映射gq,具体取决于函数的结果。 类似的东西:
nnoremap gq if(g:set_formatprg()) | gq | else | = | endif
请注意,g:set_formatprg()
并不总是具有相同的值,因此不能替换为
if(!g:set_formatprg()) | nnoremap gq = | endif
答案 0 :(得分:4)
表达式图表可以轻松实现
nnoremap <expr> gq g:set_formatprg() ? 'gq' : '='
如需更多帮助,请参阅
:h map-expression