我今天从www.example.com安装了最新的gvimvim.org。它是一个“已加载”的软件包,有很多选项,cfr infra(version命令的输出)
我已经安装了python2.7,python27.dll位于c:\windows\system32。python37.dll和pyhon39.dll位于'c:\Program Files\python37'和'c:\Program Files\python39'目录中。这三个包含pythondll的目录位于系统路径中。
在echo has('python')
和echo has('python3')
命令中,Gvim和Vim都输出0。
我是否必须在.vimrc或.gvimrc中添加任何内容才能激活python?
如有任何建议和帮助,我们将不胜感激!
先谢谢你,
圭多
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 15 2019 23:09:58)
MS-Windows 32-bit console version
Included patches: 1-12
Compiled by appveyor@APPVYR-WIN
Huge version without GUI. Features included (+) or not (-):
+acl +eval +multi_byte_ime/dyn -tag_old_static
+arabic +ex_extra +multi_lang -tag_any_white
+autocmd +extra_search +mzscheme/dyn +tcl/dyn
+autochdir -farsi -netbeans_intg +termguicolors
+autoservername +file_in_path +num64 +terminal
-balloon_eval +find_in_path +packages -termresponse
+balloon_eval_term +float +path_extra +textobjects
-browse +folding +perl/dyn +textprop
++builtin_terms -footer +persistent_undo -tgetent
+byte_offset +gettext/dyn +popupwin +timers
+channel -hangul_input -postscript +title
+cindent +iconv/dyn +printer -toolbar
+clientserver +insert_expand +profile +user_commands
+clipboard +job +python/dyn +vartabs
+cmdline_compl +jumplist +python3/dyn +vertsplit
+cmdline_hist +keymap +quickfix +virtualedit
+cmdline_info +lambda +reltime +visual
+comments +langmap +rightleft +visualextra
+conceal +libcall +ruby/dyn +viminfo
+cryptv +linebreak +scrollbind +vreplace
+cscope +lispindent +signs +vtp
+cursorbind +listcmds +smartindent +wildignore
+cursorshape +localmap +sound +wildmenu
+dialog_con +lua/dyn +spell +windows
+diff +menu +startuptime +writebackup
+digraphs +mksession +statusline -xfontset
-dnd +modify_fname -sun_workshop -xim
-ebcdic +mouse +syntax -xpm_w32
+emacs_tags -mouseshape +tag_binary -xterm_save
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 -DFEAT_MBYTE_IME -DDYNAMIC_IME -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=\"python37.dll\" -DFEAT_MZSCHEME -I "C:\Program Files (x86)\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_PERL_DLL=\"perl528.dll\" -DFEAT_RUBY -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER=24
-DDYNAMIC_RUBY_DLL=\"msvcrt-ruby240.dll\" -DFEAT_HUGE /Fd.\ObjCULYHTRZi386/ /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 /nodefaultlib:lua53.lib
/STACK:8388608 /nodefaultlib:python27.lib /nodefaultlib:python37.lib "C:\Tcl\lib\tclstub86.lib" winmm.lib
WSock32.lib /PDB:vim.pdb -debug
1条答案
按热度按时间06odsfpq1#
Windows上通常的Vim软件包提供了一个32位的二进制文件,而32位的二进制文件不能与64位的库一起工作(这通常是我所期望的Python安装)。
以下站点提供了64位版本的Vim软件包:github.com/vim/vim-win32-installer/releases
对于那些希望添加对外部语言(如Python)的支持的人,明确提到了它们。
一旦有了与Python库匹配的64位Vim二进制文件,就需要让它正确地找到系统中的库。
尝试将
'pythonthreedll'
和'pythonthreehome'
变量设置为指向系统中的变量。可以通过检查
:version
输出来检查所需的python版本。特别是,底部显示的编译标志将显示类似-DDYNAMIC_PYTHON3_FLL=\"python37.dll\"
的内容。因此,Vim似乎是使用
python37.dll
构建的,所以让我们首先尝试该版本:这可能不是你系统中的路径,或者Vim想要的设置值...请尝试一下,看看你是否找到了一个组合,使它工作。
请注意,您需要使用反斜杠来转义空格,并且需要使用两个反斜杠作为路径分隔符。您不应该在行中的其他地方使用空格(例如,在
=
周围)。对于Python 2.7来说,也许可以做一些类似的事情,但是在这一点上,Python 2基本上是不赞成的,所以我宁愿花时间让Python 3工作,而不是Python 2...