vim - 如何检测 Vim 是否在受限模式下运行?

标签 vim

......或者在任何模式下。

在这种情况下,我只想阻止加载某些扩展,例如:

if ! currentmode('restricted')
     Bundle('some-extension')
endif

最佳答案

你是对的;一个特殊的变量,如 v:vimmode会有所帮助,但我认为目前不存在这样的事情。为什么不在 vim_dev mailing list 上提出这个问题? ?!

同时,您必须通过调用限制模式中禁止的内容的结果来检测模式。我对成功影响最小的最佳想法是调用 writefile()带有空文件名:

silent! call writefile([], '')
" In restricted mode, this fails with E145: Shell commands not allowed in rvim
" In non-restricted mode, this fails with E482: Can't create file <empty>
let isRestricted = (v:errmsg =~# '^E145:')

关于vim - 如何检测 Vim 是否在受限模式下运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16690202/

相关文章:

Vim:如何使用每行多次出现的 ci(内部更改)

vim - 有什么方法可以查看 Vim 中当前映射的按键吗?

c++ - 如何从 Vim 中的语法突出显示中排除 C++ 原始字符串文字?

Thor 的 VIM 中类似 Ruby 的语法高亮显示

vim - eslint 忽略项目 .eslintrc

vim - 从 Cygwin 编译 vim (Versin>=7.4.399) 时显示错误 "collect2: error: ld returned 1 exit status"

c++ - ctag 忽略 C++ 中的类

vim 映射 ctrl -` or <c-` > 到 <c-w>w

vim - 如何用 vim 在不同的行打开多个文件?

vim - 如何在 vim 中的最后一次编辑时运行命令(即缩进)