¿Cómo puede comprobar con qué opciones se compiló vim?

88

Me gustaría saber qué opciones de compilación se usaron para mi binario de Vim. ¿Hay alguna forma de consultar esto?

Específicamente, me interesa si tiene habilitada la compatibilidad con Python.

Caleb
fuente

Respuestas:

101

Puede ver todo lo que se compiló vim ejecutando

:version

Para consultar una característica exacta como python, puede usar la has()función con la característica que está buscando. El siguiente código devolverá un 1 si tiene la función o un 0 si no la tiene.

:echo has('python')

Para obtener una lista de funciones, consulte :h +feature-list

Para más información, ver:

:h :version
:h has(
:h feature-list
Peter Rincker
fuente
1
En aras de la exhaustividad: Para Vimscript un ejemplo de sintaxis es if has('clipboard'), set mouse=a, end. No puedo molestarme en leer la ayuda si ya leí SO ;-)
cfi
1
Cuando lo ejecuto :versionse nota +python/dyn and +python3/dyn. Pero echo has ('python') devuelve 0. Entonces, ¿por qué hay una diferencia y con cuál debería ir?
Durga Swaroop
4
:versionmuestra con qué se compila Vim. En su caso +python/dyny +python3/dyncuáles son versiones cargadas dinámicamente de python. De acuerdo con :h python-dynamicesto, Vim buscará las bibliotecas de dll de python necesarias y, si las encuentra, puede usar python. Intentar has('python')intentará cargar Python dinámicamente y devolver los resultados (Ver :h has-python). Por tanto, has('python')es el método preferido.
Peter Rincker
18

Utilice vim --version. El mío muestra:

$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 20 2012 13:16:02)
Compiled by [email protected]
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
Andy Lester
fuente
4

Use vi --version, que muestra las opciones de compilación y el comando del compilador.

vaporbook
fuente