2013-03-15 91 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