Vim es Zen

VI - Tags

Frecuentemente necesitamos acceder a una clase, método, función o constante de nuestro código. Y tenemos que hacerlo desde otro fichero en el que nos encontramos programando. Para hacer esto fácilmente tenemos los Tags.

Con los tags, podemos poner el cursor sobre una palabra (clase, método, función...) y, pulsando CTRL-], o CTRL-LeftMouse, accederemos directamente a su definición. Pulsando CTRL-T o CTRL-RightMouse volveremos al fichero y posición anteriores.

Debo indicar que, al menos en mi caso CTRL-] no funciona (porque estoy en modo visual). Debo utilizar CTRL-5 (o las opciones con el ratón ya indicadas).

Si queremos que la definición del término se abra en una nueva ventana, debemos pulsar previamente CTRL-W.

Para instalarlo necesitaremos el programa ctags-exuberant en nuestro sistema.

Para hacerlo funcionar primero debemos generar el fichero de tags, en el que se guardan referencias de cada término y luego indicarle a Vim qué fichero debe utilizar como fichero de tags. Vamos por pasos:

Para generar el fichero de tags de un directorio de trabajo se puede utilizar un script como este:

	#!/bin/bash
	cd /path/directorio/proyecto
	exec ctags-exuberant -f proyecto.tags \
	-h ".php" -R \
	--exclude="\.svn" \
	--exclude="\doc" \
	--exclude="\PHPUnit" \
	--exclude="\jsunit" \
	--totals=yes \
	--tag-relative=yes \
	--PHP-kinds=+cf \
	--regex-PHP='/abstract class ([^ ]*)/\1/c/' \
	--regex-PHP='/interface ([^ ]*)/\1/c/' \
	--regex-PHP='/(public |static |abstract |protected |private )+function ([^ (]*)/\2/f/'

 

Estas opciones, que se basan en la explicación de Mathew Weier O'Phinney Exuberant ctags with PHP in Vim, generan un fichero de tags con el nombre proyecto.tags, excluyen diversos directorios (svn, doc, PHPUnit y jsunit), con paths relativos al directorio, incluyendo funciones, etc. (ver man ctags-exuberant).

Una vez creado el fichero de tags (actualizado periódicamente según avance el proyecto), lo cargamos en Vim con :set tags=proyecto.tags.

Y ya lo tenemos listo.

Lo que necesitas:

logo transp

Sobre Ilke Benson

Dónde estamos     

C/ Donoso Cortés, 6 - 3º. Oficina 10
06002 Badajoz (Extremadura)

     
Teléfono  

telf: +34 924 98 34 19

fax: +34 924 98 34 19

Email  

  

info@ilkebenson.com

  

Pídenos

Es importante estar conectado con nuestros clientes, según nuestras metodologías de desarrollo, ellos se hacen parte indispensable en el ciclo de vida del proyecto.

Es por este motivo por el cual disponemos de un sistema que permite a nuestros clientes informar de incidencia o solicitar modificaciones de manera priorizada (peticiones de tareas).

Sistema de Gestión de Peticiones de Ilke Benson

Ilke Benson  ©2024 Ilke Benson. All Rights Reserved. Aviso Legal. Diseñado por Ilke Benson

¿Quieres algo concreto?