2013-03-15 68 views
2

在正常模式下,vim可以做一个有条件的地图吗? 我已经看到它的插入模式。 我想重新映射gq,具体取决于函数的结果。 喜欢的东西:正常模式下的条件映射?

nnoremap gq if(g:set_formatprg()) | gq | else | = | endif 

注意g:set_formatprg()不会总是具有相同的值,所以它不能

if(!g:set_formatprg()) | nnoremap gq = | endif 

回答

4

的表达图谱更换很容易

nnoremap <expr> gq g:set_formatprg() ? 'gq' : '=' 

欲了解更多帮助,请参阅

:h map-expression