Comment vérifier avec quelles options vim a été compilé?

88

J'aimerais savoir quelles options de compilation ont été utilisées pour mon binaire Vim. Existe-t-il un moyen d'interroger cela?

Plus précisément, je suis intéressé à savoir si le support Python est activé.

Caleb
la source

Réponses:

101

Vous pouvez voir tout ce avec quoi vim a été compilé en exécutant

:version

Pour rechercher une fonctionnalité exacte telle que python, vous pouvez utiliser la has()fonction avec la fonctionnalité que vous recherchez. Le code ci-dessous renverra un 1 s'il a la fonctionnalité ou 0 s'il n'en a pas.

:echo has('python')

Pour une liste des fonctionnalités, voir :h +feature-list

Pour plus d'informations, consultez:

:h :version
:h has(
:h feature-list
Peter Rincker
la source
1
Par souci d'exhaustivité: Pour vimscript un exemple de syntaxe est if has('clipboard'), set mouse=a, end. Je ne peux pas me donner la peine de lire l'aide si j'ai déjà lu SO ;-)
cfi
1
Quand je cours, :versionça se voit +python/dyn and +python3/dyn. Mais echo has ('python') renvoie 0. Alors, pourquoi y a-t-il une différence et avec laquelle devrais-je aller?
Durga Swaroop
4
:versionmontre avec quoi Vim est compilé. Dans votre cas +python/dynet +python3/dynqui sont des versions chargées dynamiquement de python. Selon :h python-dynamiccela, Vim recherchera les bibliothèques de dll python nécessaires et si elles sont trouvées, vous pouvez utiliser python. Essayer has('python')essaiera de charger python dynamiquement et retournera les résultats (voir :h has-python). C'est donc has('python')la méthode préférée.
Peter Rincker
18

Utilisez vim --version. Mine montre:

$ 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
la source
4

Utilisez vi --version, qui affiche les options de compilation et la commande du compilateur.

vaporbook
la source