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é.
Réponses:
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
: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?
:version
montre avec quoi Vim est compilé. Dans votre cas +python/dyn
et +python3/dyn
qui sont des versions chargées dynamiquement de python. Selon :h python-dynamic
cela, 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.
Utilisez vim --version
. Mine montre:
$ 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
. Je ne peux pas me donner la peine de lire l'aide si j'ai déjà lu SO ;-)