คุณจะตรวจสอบได้อย่างไรว่าตัวเลือกใดถูกคอมไพล์ด้วย?


88

ฉันต้องการทราบว่าตัวเลือกการรวบรวมใดที่ใช้สำหรับไบนารี Vim ของฉัน มีวิธีใดในการสอบถามสิ่งนี้หรือไม่?

โดยเฉพาะฉันสนใจว่ามันเปิดใช้งานการรองรับ Python หรือไม่

คำตอบ:


101

คุณสามารถเห็นทุกสิ่งที่รวบรวมเป็นกลุ่มด้วยการดำเนินการ

:version

หากต้องการค้นหาคุณลักษณะที่แน่นอนเช่น python คุณสามารถใช้has()ฟังก์ชันกับคุณสมบัติที่คุณกำลังมองหาได้ โค้ดด้านล่างจะส่งคืน 1 หากมีคุณสมบัติหรือ 0 หากไม่มี

:echo has('python')

สำหรับรายการคุณสมบัติโปรดดู :h +feature-list

สำหรับข้อมูลเพิ่มเติมโปรดดู:

:h :version
:h has(
:h feature-list

1
เพื่อความครบถ้วนสมบูรณ์: สำหรับ vimscript ตัวอย่างไวยากรณ์if has('clipboard'), ,set mouse=a endไม่ต้องกังวลที่จะอ่านความช่วยเหลือถ้าฉันอ่าน SO แล้ว ;-)
cfi

1
เมื่อฉันเรียกมันแสดงให้เห็นว่า:version +python/dyn and +python3/dynแต่ echo มี ('python') ส่งกลับ 0 ดังนั้นทำไมถึงมีความแตกต่างและฉันควรเลือกอันไหน
Durga Swaroop

4
:versionแสดงให้เห็นว่า Vim รวบรวมด้วยอะไร ในกรณีของคุณ+python/dynและ+python3/dynเวอร์ชันใดที่โหลดแบบไดนามิกของ python ตาม:h python-dynamicนี้หมายความว่า Vim จะค้นหาไลบรารี python dll ที่ต้องการและหากพบคุณสามารถใช้ python ได้ การพยายามhas('python')จะพยายามโหลด python แบบไดนามิกและส่งคืนผลลัพธ์ (ดู:h has-python) จึงhas('python')เป็นวิธีที่ต้องการ.
Peter Rincker

18

ใช้vim --version. การแสดงของฉัน:

$ 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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.