Подтвердить что ты не робот

Как проверить версию python, с которой был скомпилирован vim?

В терминале он работает, чтобы сделать

python -c "import sys; print(sys.version)"

но делая

:python -c "import sys; print(sys.version)"

в vim выдает синтаксический сертификат.

4b9b3361

Ответ 1

Я только что обнаружил здесь, что вы также можете сделать это с помощью

:python import sys; print(sys.version)

Ответ 2

Я думаю, вы этого хотите:

Тип:

:python << EOF
import sys;
print(sys.version);
EOF

Если vim был скомпилирован с помощью python, когда вы вводите :python << EOF в командной строке, командная строка будет расширяться с использованием новых строк и ждать EOF. Перед EOF введите свой код python и завершите с помощью EOF.

Изменить:, как вы уже обнаружили, EOF не требуется, и вы можете использовать script в одной строке, без кавычек и -c. Трюк EOF хорош для тестирования скриптов python/VIM в командной строке.

Ответ 3

Выполнить :ve[rsion] в режим командной строки или запустите vim --version из Bash.

  • Если vim был скомпилирован с Python 3, вы найдете -python и +python3.
  • Если vim был скомпилирован с Python 2, вы найдете +python и -python3.
  • Если vim был скомпилирован без поддержки Python, вы найдете -python и -python3 1.

Я не уверен, что можно найти как +python, так и +python3 в :ve output -  в настоящее время возможно не.


1 В настоящее время -python и -python3 кажется по умолчанию для Debian vim package. Если вам нужна vim поддержка языков сценариев, установите vim-nox, который предназначен для них и, следовательно, имеет (среди прочего) +python3 включен. Существует также интересная, сильно реорганизованная vim fork, называемая neovim (или nvim вкратце). BTW: on Debian вы можете перечислить все установленные vim, выполнив update-alternatives --list vim.