Vim ikili programım için hangi derleme seçeneklerinin kullanıldığını bilmek istiyorum. Bunu sorgulamanın bir yolu var mı?
Özellikle, Python desteğinin etkin olup olmadığı ile ilgileniyorum.
Yanıtlar:
Vim'in derlendiği her şeyi çalıştırarak görebilirsiniz.
:version
Python gibi kesin bir özelliği sorgulamak için has(), aradığınız özellik ile işlevi kullanabilirsiniz . Aşağıdaki kod, özelliğe sahipse 1, yoksa 0 döndürür.
:echo has('python')
Özelliklerin listesi için bkz. :h +feature-list
Daha fazla bilgi için, bkz:
:h :version
:h has(
:h feature-list
:versiongösteriyor +python/dyn and +python3/dyn. Fakat echo'nun ('python') değeri 0 döndürür. Peki, neden bir fark var ve hangisiyle gitmeliyim?
:versionVim'in neyle derlendiğini gösterir. Sizin durumunuzda +python/dynve +python3/dynpython'un dinamik olarak yüklenen sürümleri. Buna göre :h python-dynamicVim, ihtiyaç duyulan python dll kitaplıklarını arayacak ve bulursa python kullanabilirsiniz. Denemek has('python'), python'u dinamik olarak yüklemeyi ve sonuçları döndürmeyi deneyecek (Bkz. :h has-python). Bu nedenle has('python')tercih edilen yöntemdir.
Kullanın vim --version. Maden gösterir:
$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 20 2012 13:16:02)
Compiled by root@apple.com
Normal version without GUI. Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path
+find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse
+mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype
+path_extra -perl +persistent_undo +postscript +printer -profile +python/dyn
-python3 +quickfix +reltime -rightleft +ruby/dyn +scrollbind +signs
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
-toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
-xterm_clipboard -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g -Os -pipe
Linking: gcc -arch i386 -arch x86_64 -o vim -lncurses
if has('clipboard'),set mouse=a,end. SO ;-)