[英]How to get Python support in Vim (not gVim) on Windows
我读到同一个安装中的 Vim 和 gVim 应该是相同的,显然不包括图形界面。 但是我想弄清楚为什么有些插件无法加载到 Vim(而不是 gVim)中。 我正在学习一个教程,其中提到 Window 的 Vim 已经内置了 Python 支持。经过更多检查后,我了解了:version
并在同一安装的 Vim 和 gVim 中进行了尝试。
gVim:
:version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 12 2019 13:30:17)
MS-Windows 32-bit GUI version with OLE support
Compiled by mool@tororo
Huge version with GUI. Features included (+) or not (-):
+acl +cindent +cursorshape -farsi +jumplist +mksession +path_extra +rightleft +tag_binary +title +wildignore
+arabic +clientserver +dialog_con_gui +file_in_path +keymap +modify_fname +perl/dyn +ruby/dyn -tag_old_static +toolbar +wildmenu
+autocmd +clipboard +diff +find_in_path +lambda +mouse +persistent_undo +scrollbind -tag_any_white +user_commands +windows
+autochdir +cmdline_compl +digraphs +float +langmap +mouseshape +popupwin +signs +tcl/dyn +vartabs +writebackup
+autoservername +cmdline_hist +directx +folding +libcall +multi_byte_ime/dyn -postscript +smartindent -termguicolors +vertsplit -xfontset
+balloon_eval +cmdline_info -dnd -footer +linebreak +multi_lang +printer +sound +terminal +virtualedit -xim
-balloon_eval_term +comments -ebcdic +gettext/dyn +lispindent +mzscheme/dyn +profile +spell -termresponse +visual +xpm_w32
+browse +conceal +emacs_tags -hangul_input +listcmds +netbeans_intg +python/dyn +startuptime +textobjects +visualextra -xterm_save
++builtin_terms +cryptv +eval +iconv/dyn +localmap +num64 +python3/dyn +statusline +textprop +viminfo
+byte_offset +cscope +ex_extra +insert_expand +lua/dyn +ole +quickfix -sun_workshop -tgetent +vreplace
+channel +cursorbind +extra_search +job +menu +packages +reltime +syntax +timers -vtp
system vimrc file: "$VIM\vimrc"
user vimrc file: "$HOME\_vimrc"
2nd user vimrc file: "$HOME\vimfiles\vimrc"
3rd user vimrc file: "$VIM\_vimrc"
user exrc file: "$HOME\_exrc"
2nd user exrc file: "$VIM\_exrc"
system gvimrc file: "$VIM\gvimrc"
user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$HOME\vimfiles\gvimrc"
3rd user gvimrc file: "$VIM\_gvimrc"
defaults file: "$VIMRUNTIME\defaults.vim"
system menu file: "$VIMRUNTIME\menu.vim"
Compilation: cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DFEAT_CSCOPE -DFEAT_TERMINAL -DFEAT_SOUND -DFEAT_NETBEANS_INTG -DFEAT_JOB_CHANNEL -DFEAT_XPM_W32 -DWINVER=0x0501 -D_WIN32_WINNT=0x0501 /MP -DHAVE_STDINT_H /Ox /GL -
DNDEBUG /arch:IA32 /Zl /MT -DFEAT_OLE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_GUI_MSWIN -DFEAT_DIRECTX -DDYNAMIC_DIRECTX -DFEAT_DIRECTX_COLOR_EMOJI -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl86t.dll\"
-DDYNAMIC_TCL_VER=\"8.6\" -DFEAT_LUA -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua53.dll\" -DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python36.dll\" -DFEAT_MZSCH
EME -I "E:\Racket\include" -DMZ_PRECISE_GC -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libracket3m_a36fs8.dll\" -DDYNAMIC_MZGC_DLL=\"libracket3m_a36fs8.dll\" -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DDYNAMIC_PERL -DDYNAMIC_P
ERL_DLL=\"perl524.dll\" -DFEAT_RUBY -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER=24 -DDYNAMIC_RUBY_DLL=\"msvcrt-ruby240.dll\" -DFEAT_HUGE /Fd.\ObjGXOULYHTRZi386/ /Zi
Linking: link /nologo /opt:ref /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib ole32.lib netapi32.lib uuid.lib /machine:i386 gdi32.lib version.lib winspool.lib comctl32.lib advapi32.lib shell32.
lib netapi32.lib /machine:i386 libcmt.lib oleaut32.lib user32.lib /nodefaultlib:lua53.lib /STACK:8388608 /nodefaultlib:python27.lib /nodefaultlib:python36.lib "E:\ActiveTcl\lib\tclstub86.lib" winmm.lib WSock32.lib xpm\x86\lib-vc14
\libXpm.lib /PDB:gvim.pdb -debug
维姆:
:version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 12 2019 13:19:27)
MS-Windows 32-bit console version
Compiled by mool@tororo
Huge version without GUI. Features included (+) or not (-):
+acl +channel +cscope +ex_extra +iconv/dyn +listcmds -mzscheme +profile +sound +termguicolors +vartabs +windows
+arabic +cindent +cursorbind +extra_search +insert_expand +localmap -netbeans_intg -python +spell +terminal +vertsplit +writebackup
+autocmd +clientserver +cursorshape -farsi +job -lua +num64 -python3 +startuptime -termresponse +virtualedit -xfontset
+autochdir +clipboard +dialog_con +file_in_path +jumplist +menu +packages +quickfix +statusline +textobjects +visual -xim
+autoservername +cmdline_compl +diff +find_in_path +keymap +mksession +path_extra +reltime -sun_workshop +textprop +visualextra -xpm_w32
-balloon_eval +cmdline_hist +digraphs +float +lambda +modify_fname -perl +rightleft +syntax -tgetent +viminfo -xterm_save
+balloon_eval_term +cmdline_info -dnd +folding +langmap +mouse +persistent_undo -ruby +tag_binary +timers +vreplace
-browse +comments -ebcdic -footer +libcall -mouseshape +popupwin +scrollbind -tag_old_static +title +vtp
++builtin_terms +conceal +emacs_tags +gettext/dyn +linebreak +multi_byte -postscript +signs -tag_any_white -toolbar +wildignore
+byte_offset +cryptv +eval -hangul_input +lispindent +multi_lang +printer +smartindent -tcl +user_commands +wildmenu
system vimrc file: "$VIM\vimrc"
user vimrc file: "$HOME\_vimrc"
2nd user vimrc file: "$HOME\vimfiles\vimrc"
3rd user vimrc file: "$VIM\_vimrc"
user exrc file: "$HOME\_exrc"
2nd user exrc file: "$VIM\_exrc"
defaults file: "$VIMRUNTIME\defaults.vim"
Compilation: cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DFEAT_CSCOPE -DFEAT_TERMINAL -DFEAT_SOUND -DFEAT_JOB_CHANNEL -DWINVER=0x0501 -D_WIN32_WINNT=0x0501 /MP -DHAVE_STDINT_H /Ox /GL -DNDEBUG /arch:IA32 /Zl /MT -DDYNAMIC_
ICONV -DDYNAMIC_GETTEXT -DFEAT_HUGE /Fd.\ObjCi386/ /Zi
Linking:
link /nologo /opt:ref /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib ole32.lib netapi32.lib uuid.lib /machine:i386 libcmt.lib user32.lib winmm.lib WSock32.lib /PDB:vim.pdb -debug
从:version
details 我看到 gVim 具有预期的
+python/dyn +python3/dyn
条目,但 Vim 相反有
-python -python3
我是否错误地认为这两者的构建配置应该相同? 我是否需要从头开始重建 vi 才能让 Vim 的命令行版本包含 Python 支持? 还是有一些更简单的方法? 或者也许我应该将这种差异报告为某个地方的错误?
[编辑]
删除了:version
输出的图像并将其文本直接粘贴到这篇文章中。 还切换到 8.2 版(原为 8.1)。
[更新]
事实证明,vim-win32-installer repo 在 gvim 和 vim 中都具有 python 功能。 这些版本可以在这里找到: https : //github.com/vim/vim-win32-installer/releases
[原答案]
事实证明,用于 Windows 的 vim 安装程序构建在用于 gVim 和 vim 的两个独立构建之间存在配置错误。 我试图在这里跟进:github.com/vim/vim/issues/5355
目前,共识似乎倾向于这不是一个足够大的问题,如果人们想要另一个功能集,他们可以手动构建 vim。 虽然我总体上不同意这一点,但我绝对可以理解这不是优先事项,并希望将来能够使这两个构建同步。 请为该任务贡献您自己的想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.