Bagaimana Anda dapat memeriksa opsi vim mana yang telah dikompilasi?


88

Saya ingin tahu opsi kompilasi mana yang digunakan untuk biner Vim saya. Apakah ada cara untuk menanyakan ini?

Secara khusus, saya tertarik jika itu telah mengaktifkan dukungan Python.

Jawaban:


101

Anda dapat melihat semua vim dikompilasi dengan mengeksekusi

:version

Untuk menanyakan fitur yang tepat seperti python, Anda dapat menggunakan has()fungsi dengan fitur yang Anda cari. Kode di bawah ini akan mengembalikan 1 jika memiliki fitur atau 0 jika tidak.

:echo has('python')

Untuk daftar fitur, lihat :h +feature-list

Untuk informasi lebih lanjut lihat:

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

1
Demi kelengkapan: Untuk vimscript contoh sintaks if has('clipboard'), set mouse=a, end. Tidak bisa diganggu untuk membaca bantuan jika saya sudah membaca SO ;-)
cfi

1
Ketika saya menjalankannya, :versionitu terlihat +python/dyn and +python3/dyn. Tapi echo has ('python') mengembalikan 0. Jadi, mengapa ada perbedaan dan mana yang harus saya gunakan?
Durga Swaroop

4
:versionmenunjukkan dengan apa Vim dikompilasi. Dalam kasus Anda +python/dyndan +python3/dynyang merupakan versi python yang dimuat secara dinamis. Menurut :h python-dynamiccara ini Vim akan mencari perpustakaan dll python yang dibutuhkan dan jika ditemukan Anda dapat menggunakan python. Mencoba has('python')akan mencoba memuat python secara dinamis dan mengembalikan hasilnya (Lihat :h has-python). Oleh karena itu has('python')adalah metode yang disukai.
Peter Rincker

18

Gunakan vim --version. Pertunjukan saya:

$ 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

Gunakan vi --version, yang menunjukkan opsi kompilasi dan perintah kompilator.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.