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

Как включить поддержку Python в gVim для Windows?

Я пытаюсь получить поддержку Python в gVim для Windows. Есть ли способ сделать это?

Я использую:

  • Windows XP SP3
  • gVim v. 7.3
  • Python 2.7.13 (ActivePython через двоичные файлы установщика Windows)
4b9b3361

Ответ 1

Обычно поддержка python встроена в официальное распределение gvim.

Вам нужно будет установить python: Загрузка Python

чтобы проверить, поддерживает ли vim python:

:echo has("python")

Ответ 2

У меня была такая же проблема, но в Windows 7, и перезагрузка не исправила.

У меня уже установлен gVim 7.3. На момент написания текущей версии Python было 3,3, поэтому я установил это. Но: имеет ( "python" ) и: has ( "python3" ) все еще возвращает 0.

После долгих проб и ошибок я определил, что:

  • Если gVim 32-разрядный, и он обычно находится даже в 64-битной Windows (вы можете подтвердить, используя команду: version), вам также потребуется 32-разрядная установка python
  • Не требуется перезагрузка Windows 7
  • Версия python должна соответствовать версии, с которой компилируется gVim, поскольку она ищет конкретное имя DLL. Вы можете это исправить из команды: version в gVim, которая дает что-то вроде:

Компиляция: cl -c/W3/nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -DFEAT_ NETBEANS_INTG -DFEAT_XPM_W32 -DWINVER = 0x0400 -D_WIN32_WINNT = 0x0400/Fo.\ObjGOLYHTR//Ox/GL -DNDEBUG/Zl/MT -DFEAT_OLE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_GUI_W32 -DDYNAMI C_ICONV -DDYNAMIC_GETTEXT -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL =\ "tcl83.dll \" -DDYNAM IC_TCL_VER =\ "8.3 \" -DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL =\ " python27.dll \" -D FEAT_PYTHON3 -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL =\ " python31.dll\" -DFEAT_PERL -DDYNAMI C_PERL -DDYNAMIC_PERL_DLL = \ "perl512.dll\" -DFEAT_RUBY -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER = 19 1 -DDYNAMIC_RUBY_DLL = \ "msvcrt-ruby191.dll\" -DFEAT_BIG/Fd.\ObjGOLYHTR//Zi

Итак, выше сказано, что я действительно не хочу python 3.3, мне нужно 3,1 (или 2,7). После установки python 3.1,: has ( "python" ) все равно возвращает 0, но: has ( "python3" ) теперь возвращает 1. Это должно означать, что скрипты на основе python теперь будут работать!

Я предполагаю, что будущие версии gVim могут быть скомпилированы против других версий python, но использование этого метода должно позволить вам решить, какая версия требуется.

Ответ 3

Я столкнулся с этой проблемой на 64-разрядной версии Windows 7. Я понял, что использую 64-битные версии Python 2.7.3 и 32-бит vim 7.3-46. Я переустановил как 32-разрядные версии, так и перезапустил компьютер. Теперь он работает.

Ответ 4

Если вы установили Python через один из установщиков Windows, он, вероятно, скомпилирован с поддержкой Python 2.7. Вы можете проверить это, выполнив:

:version

Он выплюнет все варианты, с которыми был скомпилирован Vim. Ваш должен сказать что-то вроде

+python/dyn +python3\dyn

Это означает, что у вас есть поддержка для python 2.7 и 3.x. Если у вас уже есть 2.5, это не сработает. Вам нужно будет обновить до 2.7 или 3.x.

Ответ 5

Извините за поздний вклад. Проблема в том, что вы не можете смешивать x86 vim с библиотеками x64 python, и все предлагаемые решения сводятся к переустановке x86 python. Ну, я не хочу переустанавливать Python, Ruby, и кто знает, что еще зависит от них, только потому, что vim официально не обеспечивает справедливое распространение x64 на windows. Хорошей новостью является то, что вы все еще можете найти его хорошо скрытым по адресу http://vim.wikia.com/wiki/Where_to_download_Vim. Удачи, и позаботьтесь о версиях библиотеки Python.

Ответ 6

Принятый ответ не решил мою проблему, поэтому я решил опубликовать решение, которое я нашел после некоторых усилий.

Во-первых, как отметил принятый ответ, вам понадобятся как gVim, скомпилированные с включенным python, так и соответствующая установка python. Убедитесь, что они 32-разрядные или 64-разрядные. Я обнаружил, что сборка по умолчанию из www.vim.org не включала python, также показалось, что она 32-битная, что не соответствовало мой python27. В результате я создал сборку "gvim_8.0.0003_x64.zip" из vim Git репозиторий

Затем я распаковал его, скопировал папку "vim80" в официальное место установки vim (созданное 32-разрядной установкой, загруженной на сайт www.vim.org).

Теперь vim работает с моим 64-битным python2.7.

ОБНОВЛЕНИЕ 02/24/2017:

Не удалось выполнить описанную выше процедуру на другом компьютере, где локальная установка python - 2.7.9. Моя версия Python составляет 2,7.11, когда мне это удалось.

Итак, кажется, что сборка из репозитория vim Git работает для конкретной версии Python. Попробуйте обновить установку Python до версии 2.7.11. Если вам нужно использовать более старую версию Python, возможно, вам нужно будет создать исходный код Vim на вашем компьютере. Это не слишком сложно, следуя инструкциям, и используйте Visual Studio, предоставленный cmd, вместо стандартного CMD по умолчанию.

Ответ 7

У меня была аналогичная проблема. Я наслаждался функцией vim omni-completion в течение нескольких лет, используя Windows XP, Python 2.7, gVim 7. Недавно я перешел на новый компьютер под управлением Windows 8.1. Я установил gVim и плагины, которые мне нравятся, и попробовал все. Omni-завершение дало ошибку, сказав, что мне нужна версия vim, скомпилированная с поддержкой Python. На этом этапе я еще не установил Python. Решением было установить Python, а затем повторно установить vim. Сейчас работает Omni-conpletion. Возможно, порядок установки имеет значение.

Ответ 8

Когда я набрал :version, он показал, что мой Vim не был скомпилирован с Python. Возможно, потому, что в то время у меня не было Python (32-бит?).

Я установил 32-битный Python, как предполагалось, но переустановка Vim казалась необходимой.

Ответ 9

После прочтения вышеизложенного, я могу подтвердить, что на Win8.1 это имеет значение для заказа, который вы устанавливаете (для меня это было наименее). У меня был 32-битный VIM 7.4, установленный в течение нескольких месяцев, а затем попытался добавить Python и не мог этого сделать. Left Python 2.7.9 установил и удалил/переустановил VIM, и теперь он работает.

Ответ 10

Загрузите файл под названием "Исполняемый файл OLE GUI"

Ответ 11

После всех ответов в этом потоке безуспешно, для меня работали следующие (Win10, Python 2.7 32bit, gvim 7.4 32bit):

  • Повторно установите установщик Python, выберите "Изменить Python"
  • Выберите опцию Добавить Python в Path, который по умолчанию отключен.
  • После завершения установки перезагрузите компьютер.

Ответ 12

Добавьте следующие скрипты в ваш .vimrc

set pythonthreedll = python36.dll

Большая часть дистрибутива vim в Windows загружает python динамически, вы должны сообщить vim, что такое dll, и убедиться, что python36.dll находится в PATH среды PATH.

Ответ 13

Вы хотите включить подсветку синтаксиса

поместите syntax on в свой vimrc (формат файла vimrc будет таким же в linux/windows или любой другой ОС)

Vim также поддерживает автоопределение, если вы хотите включить автоматический отступ для python, посмотрите на это руководство здесь

Ключом, позволяющим включить автоопределение, является включение в vimrc

autocmd BufRead,BufNewFile *.py syntax on
autocmd BufRead,BufNewFile *.py set ai
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,with,try,except,finally,def,class