...またはそのようなモードでは、Vimが制限付きモードで動作しているかどうかを検出するには?
私はちょうど、そのような場合は読み込み時からいくつかの拡張を防ぐために何かしたい:そうだね
if ! currentmode('restricted')
Bundle('some-extension')
endif
...またはそのようなモードでは、Vimが制限付きモードで動作しているかどうかを検出するには?
私はちょうど、そのような場合は読み込み時からいくつかの拡張を防ぐために何かしたい:そうだね
if ! currentmode('restricted')
Bundle('some-extension')
endif
を。 v:vimmode
のような特別な変数が役に立ちますが、私はそのようなことは現在存在していないと思います。 vim_dev mailing listでこれを上げてみませんか?
制限されたモードで禁止されているものを呼び出した結果、そのモードを検出する必要があります。
restricted-mode
無効外部コマンド(もいくつかの関連機能:
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:')
私はこれは良いアイデアであればわからない:空のファイル名を指定してwritefile()
を呼び出している成功した場合に少なくとも侵入である私の最高のアイデア)。 rvimで外部コマンドまたは特定の関数を呼び出すと、エラーE145
が返されます。
だから多分system()
でダミーの外部コマンドを呼び出し、例外E145
をキャッチすることができます。それが制限されたモードであるかどうかを区別する。例えば
try
call system("echo x") "or even call system("")
catch /E145/
"your codes
endtry
は、それが
を役に立てば幸い