vim - 正常模式下的条件图?

标签 vim dictionary conditional-statements

vim 是否可以在正常模式下进行条件映射? 我见过它的插入模式。 我想根据函数的结果重新映射 gq 。 像这样的东西:

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

请注意,g:set_formatprg() 并不总是具有相同的值,因此它不能被替换为

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

最佳答案

表情图让一切变得简单

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

更多帮助请参见

:h map-expression

关于vim - 正常模式下的条件图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15440985/

相关文章:

c - 如何检测数组中的重复项并打印非重复项?

vim - 如何在 Vim 中从命令模式退格?

python - OrderedDict 在 Python 3.7 中会变得多余吗?

vim - 如何在cygwin下安装vim插件?

python - 如何按值对多级字典进行排序?

json - 如何将字典转换为不带空格和换行符的json字符串

javascript - 当单击 JavaScript 中的复选框时,文本区域的字符数对动态字符限制长度?

c++ - "if(T t = ...) { } else return t;"的优雅方式?

vimscript : Get visual mode selection text in mapping

csv - 在 Vim 中隐藏给定字符之后的部分行