どちらかを使用する互換性のある方法:pyまたは:py3 in vim?
-
26-10-2019 - |
質問
私の中で .vimrc
そして私のVIMプラグインultisnips私はそのように見える多くのコードを持っています
:py << EOF
print("Hi")
EOF
ここで、Python3がVimにコンパイルされているかどうかを確認したい has("python3")
そして、使用します :py3
それ以外の :py
. 。 Python 2と3の間でPythonコードを互換性のあるものに保つことは問題ではありません。問題は、VIMに使用できるようにVIMに指示することです。
誰かが良い考えを持っていますか?
解決
VIMのユーザー定義コマンドがパターに並んでいるだけであるという事実を利用することができます。
if has("python3")
command! -nargs=1 Py py3 <args>
else
command! -nargs=1 Py py <args>
endif
その後、使用できます :Py
Pythonコマンドを実行するには、定期的に使用するのと同じ方法でコマンド :py
また :py3
.
他のヒント
Python3またはPythonを1回だけチェックしてから変数を設定することで、これを醜い方法で解決しました。
let g:_uspy=":py " or ":py3 "
そして、<< EOF構文を船外に投げ、代わりにPythonの各行を介して電話をかけます
exec g:_uspy "print('Hello')"
それはokaishに働いているようです。このgit blobの完全なソリューションを参照してください:
所属していません StackOverflow