Làm thế nào bạn có thể kiểm tra tùy chọn vim được biên dịch với?


88

Tôi muốn biết tùy chọn biên dịch nào đã được sử dụng cho hệ nhị phân Vim của tôi. Có cách nào để truy vấn điều này không?

Cụ thể, tôi quan tâm đến việc nó có hỗ trợ Python hay không.

Câu trả lời:


101

Bạn có thể thấy mọi thứ vim được biên dịch bằng cách thực thi

:version

Để truy vấn một tính năng chính xác như python, bạn có thể sử dụng has()hàm với tính năng bạn đang tìm kiếm. Đoạn mã dưới đây sẽ trả về giá trị 1 nếu nó có tính năng hoặc 0 nếu nó không có.

:echo has('python')

Để biết danh sách các tính năng, hãy xem :h +feature-list

Để biết thêm thông tin, hãy xem:

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

1
Vì lợi ích của sự hoàn chỉnh: Đối với vimscript một ví dụ cú pháp là if has('clipboard'), set mouse=a, end. Không thể bị phiền khi đọc trợ giúp nếu tôi đã đọc SO ;-)
cfi

1
Khi tôi chạy :versionnó cho thấy +python/dyn and +python3/dyn. Nhưng echo có ('python') trả về 0. Vì vậy, tại sao lại có sự khác biệt và tôi nên đi với cái nào?
Durga Swaroop

4
:versionhiển thị những gì Vim được biên dịch. Trong trường hợp của bạn +python/dyn+python3/dynđó là các phiên bản python được tải động. Theo :h python-dynamicđiều này có nghĩa là Vim sẽ tìm kiếm các thư viện dll python cần thiết và nếu tìm thấy bạn có thể sử dụng python. Việc thử has('python')sẽ cố gắng tải động python và trả về kết quả (Xem :h has-python). Do đó has('python')là phương pháp được ưu tiên.
Peter Rincker

18

Sử dụng vim --version. Chương trình của tôi:

$ 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

4

Sử dụng vi --version, hiển thị các tùy chọn biên dịch và lệnh trình biên dịch.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.