Mi piacerebbe sapere quali opzioni di compilazione sono state usate per il mio binario Vim. C'è un modo per interrogarlo?
In particolare, mi interessa se ha il supporto per Python abilitato.
Risposte:
Puoi vedere tutto ciò con cui vim è stato compilato eseguendo
:version
Per eseguire una query per una funzionalità esatta come python, puoi utilizzare la has()funzione con la funzionalità che stai cercando. Il codice riportato di seguito restituirà un 1 se ha la funzione o 0 in caso contrario.
:echo has('python')
Per un elenco delle caratteristiche vedere :h +feature-list
Per ulteriori informazioni, vedere:
:h :version
:h has(
:h feature-list
:versionsi vede +python/dyn and +python3/dyn. Ma echo has ('python') restituisce 0. Allora, perché c'è una differenza e con quale dovrei andare?
:versionmostra con cosa è compilato Vim. Nel tuo caso +python/dyne +python3/dynche sono versioni caricate dinamicamente di python. Secondo :h python-dynamicquesto significa che Vim cercherà le librerie dll python necessarie e, se trovate, puoi usare python. Il tentativo has('python')tenterà di caricare python dinamicamente e restituirà i risultati (Vedi :h has-python). Pertanto has('python')è il metodo preferito.
Usa vim --version. Il mio mostra:
$ 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. Non posso essere disturbato a leggere la guida se ho già letto SO ;-)