GNU Emacs: Cambiar fácilmente entre el .c y el .h
Cómo cambiar rápida y cómodamente entre el fichero de implementación (.c, .cc, .cpp) y el de cabecera (.h, hpp) cuando se trabaja con un proyecto C o C++ (por lo visto también funciona con Ada y VHDL).
Introducción
Seguro que alguno de los que haya usado Eclipse o incluso Anjuta ha visto esa funcionalidad y la ha echado de menos en Emacs, sobre todo cuando los ficheros están en directorios diferentes. Pues Emacs lo soporta y de serie.
Configuración
El comando en cuestión se llama ff-find-other-file
. Pon el siguiente código en tu .emacs
para asociar la combinación C-c o
:
Esto abre el fichero correspondiente en otro buffer, pero si se ejecuta estando sobre una línea #include
entonces abre ese fichero en lugar del que corresponda al fichero actual.
Con la configuración por defecto Emacs busca en los directorios definidos en la variable cc-search-directories
que incluye el directorio actual y los include
del sistema. Pero cuando en un proyecto tienes directorios src
e include
potencialmente con subdirectorios esto no es suficiente.
Afortunadamente se pueden definir directorios adicionales donde buscar. Añade esto a tu .emacs
:
Esto suponiendo que en tu proyecto tienes una estructura de directorios del tipo: