Ét.Nadji.fr/

Du code, des mots, des livres.

Naviguer dans un fichier LaTeX dans (G)Vim via ctags

03/04/2014 à 18h
Cet article est une traduction de «  Simple LaTeX ctags and TagList ».

Mise à jour (2019)

Plutôt qu’Exuberant Ctags, qui n’est plus maintenu, il vaut mieux employer Universal Ctags, qui est entièrement compatible et maintenu.

Le plugin pour (G)Vim TagList permet de naviguer dans un fichier en se servant des tags repérés par ctags (ou exuberant-ctags), mais ne gère pas de base les tags du format LaTeX.

Il faut donc les définir en remplissant le fichier ~/.ctags.


--langdef=latex
--langmap=latex:.tex
--regex-latex=/^\s*\\label\{([^}]*)\}/\1/l,label/
--regex-latex=/^\s*\\part\{([^}]*)\}/\1/p,part/
--regex-latex=/^\s*\\section\{([^}]*)\}/\1/s,section/
--regex-latex=/^\s*\\subsection\{([^}]*)\}/\1/t,subsection/
--regex-latex=/^\s*\\subsubsection\{([^}]*)\}/\1/u,subsubsection/
--regex-latex=/^\s*\\part\*\{([^}]*)\}/\1/p,part/
--regex-latex=/^\s*\\section\*\{([^}]*)\}/\1/s,section/
--regex-latex=/^\s*\\subsection\*\{([^}]*)\}/\1/t,subsection/
--regex-latex=/^\s*\\subsubsection\*\{([^}]*)\}/\1/u,subsubsection/
    

Après avoir défini ces tags, il suffit d’insérer une autocommande dans le fichier de configuration de (G)Vim, ~/.vimrc pour que TagList utilise les tags générés.


au filetype tex let tlist_tex_settings = 'latex;l:labels;p:part;s:sections;t:subsections;u:subsubsections'
    

Commentaires

Pour commenter ce billet, envoyez un mail sur etnadji (at) eml.cc, ou créez-vous votre blog.