2

vimで通常モードで条件付きマップを実行することは可能ですか?挿入モードで見ました。関数の結果に応じて、gqを再マップしたいと思います。何かのようなもの:

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

g:set_formatprg()は常に同じ値になるとは限らないため、次のように置き換えることはできません。

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

1 に答える 1

4

式マップで簡単に

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

詳細については、次を参照してください。

:h map-expression
于 2013-03-15T20:06:03.060 に答える