Como você pode verificar com quais opções o vim foi compilado?

88

Eu gostaria de saber quais opções de compilação foram usadas para meu binário Vim. Existe alguma maneira de consultar isso?

Especificamente, estou interessado em saber se ele tem suporte para Python habilitado.

Caleb
fonte

Respostas:

101

Você pode ver tudo com que o vim foi compilado executando

:version

Para consultar um recurso exato como o python, você pode usar a has()função com o recurso que está procurando. O código a seguir retornará 1 se tiver o recurso ou 0 se não tiver.

:echo has('python')

Para obter uma lista de recursos, consulte :h +feature-list

Para mais informações, veja:

:h :version
:h has(
:h feature-list
Peter Rincker
fonte
1
Pelo amor de completude: Para vimscript um exemplo de sintaxe é if has('clipboard'), set mouse=a, end. Não me incomodo em ler a ajuda se já li o SO ;-)
cfi
1
Quando eu corro, :versionele mostra +python/dyn and +python3/dyn. Mas echo tem ('python') retorna 0. Então, por que há uma diferença e qual devo escolher?
Durga Swaroop
4
:versionmostra com o que o Vim é compilado. No seu caso +python/dyne +python3/dynque são versões carregadas dinamicamente do python. De acordo com :h python-dynamicisso, o Vim irá procurar as bibliotecas python dll necessárias e, se encontradas, você pode usar o python. A tentativa has('python')tentará carregar o python dinamicamente e retornar os resultados (consulte :h has-python). Portanto, has('python')é o método preferido.
Peter Rincker,
18

Use vim --version. Meus programas:

$ 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
fonte
4

Use vi --version, que mostra as opções de compilação e o comando do compilador.

vaporbook
fonte