В терминале он работает, чтобы сделать
python -c "import sys; print(sys.version)"
но делая
:python -c "import sys; print(sys.version)"
в vim выдает синтаксический сертификат.
В терминале он работает, чтобы сделать
python -c "import sys; print(sys.version)"
но делая
:python -c "import sys; print(sys.version)"
в vim выдает синтаксический сертификат.
Я только что обнаружил здесь, что вы также можете сделать это с помощью
:python import sys; print(sys.version)
Я думаю, вы этого хотите:
Тип:
:python << EOF
import sys;
print(sys.version);
EOF
Если vim был скомпилирован с помощью python, когда вы вводите :python << EOF
в командной строке, командная строка будет расширяться с использованием новых строк и ждать EOF. Перед EOF введите свой код python и завершите с помощью EOF.
Изменить:, как вы уже обнаружили, EOF
не требуется, и вы можете использовать script в одной строке, без кавычек и -c
. Трюк EOF хорош для тестирования скриптов python/VIM в командной строке.
Выполнить :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
.