Inicio > Programación, Utilidades, vim > Programando en C/C++ con vim

Programando en C/C++ con vim

Domingo, 16 de diciembre de 2007 Dejar un comentario Ir a comentarios

vim-editor_logo

Ante el inminente comienzo de mi proyecto de fin de carrera, he estado analizando estos últimos días diferentes editores y entornos de programación para llevar a cabo el desarrollo de este gran proyecto que me tiene muy ilusionado. El lenguaje con el que debo implementar el software es C++, ya que tengo que usar unas librerías de tratamiento de imágenes desarrolladas por el grupo de investigación donde colaboro con una beca, y estas están desarrolladas con este lenguaje.

Hace unos días os comenté de un complemento para Eclipse con el que se podía desarrollar programas en C++ (ver este enlace), pero tal vez esto esté más orientado para los usuarios que se sienten más seguros con un entorno de programación para que les ayude en todo lo posible. También he probado Anjuta obteniendo una grata impresión (sobre todo con su modo de depuración que me gustó mucho) pero quizás vea el IDE algo sobrecargado. Entonces me acorde de una imagen que vi hace tiempo en la que alguien usaba el editor vim con la opción de autocompletado para los lenguajes C y C++ y he decidí lanzarme a la búsqueda y análisis de este complemento, y algunos otros para vim. Aquí os dejo una serie de consejos y útilidades para vim.

Identación al estilo C

Existe una amplia documentación acerca de la identación en vim, pero creo que para la mayoría de gente os bastará con este par de sentencias colocadas en vuestro vimrc (en /etc/vim/vimrc o $HOME/.vimrc):

set cindent
set shiftwidth=4

Para más información acerca de la identación podéis acudir a este enlace.

Esquemas de colores

Para los desarrolladores es muy importante sentirse cómodo con el esquema de colores de la aplicación y por ello se han elaborado por parte de los usuarios de esta aplicación múltiples esquemas que nos harán más agradable el uso del programa.

En este enlace tenéis muchos esquemas donde elegir, y tan solo tendréis que bajarlos a la carpeta $HOME/.vim/colors y asignar el esquema dentro de vuestro vimr con “colorscheme nombreEsquema“.

Esta información acerca de los esquemas ha sido extraída de la página mundogeek.

Plugin CVim

En este enlace podéis encontrar un plugin que es tremendamente útil para el desarrollo en C/C++. Con él podremos insertar todo tipo de sentencias, comentarios, palabras clave del preprocesador, etc. de forma totalmente automática. Incluso podremos realizar compilaciones y ejecuciones dentro de vim.

Para realizar su instalación, tan solo tenemos que descomprimir el paquete en la carpeta $HOME/.vim y es recomendable hacer uso de la aplicación gvim, que no es otra cosa que el programa vim con una GUI desarrollada con GTK. También es altamente recomendable instalar la aplicación indent, para la identación automática como comentaré a continuación:

~$ sudo apt-get install vim-gtk indent

También es recomendable editar el archivo Templates que se encuentra en el directorio “$HOME/.vim/c-support/templates/”, para añadir nuestros datos personales que aparecerán en cada documento C/C++ que generemos de aquí en adelante

Otra de las características muy útiles que ofrece este plugin, es la identación automática de documentos. Os dejo un par de capturas muy aclaratorias de lo que os comento, para cuando hagáis un copy & paste de esos que tanto que nos gustan a todos, no tengáis problemas para verlo todo de forma correcta :P . (Para realizar este paso, accedemos al menú C/C++ -> Run -> Indent).

Código C sin identarCódigo C con identación

OmniCppComplete

Con este plugin se consigue añadir a vim la funcionalidad de otros entornos de programación de autocompletado. Toda la información acerca de la instalación del mismo y su configuración se encuentra en el siguiente enlace.

Principalmente hay que bajarse el paquete y descomprimirlo en “$HOME/.vim/”, y seguir los siguientes pasos:

  1. Incluir las siguientes líneas en el archivo vimrc:
    set nocp
    filetype plugin on
  2. Generar la lista de etiquetas mediante el programa ctags (si no lo tenemos instalado habrá que instalarlo tal y como indica la primera línea):
    ~$ sudo apt-get install exuberant-ctags
    ----------------------------------------------------
    ~$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=c++ /usr/include /usr/local/include
  3. Incluir en el archivo vimrc las siguientes líneas para incluir las etiquetas generadas en el punto anterior:
    set tags+=/home/piponazo/tags
    map <C-F12>  :! ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=c++ /usr/include /usr/local/include<CR>

En resumen, nuestro archivo tendría que quedar con una estructura más o menos como la siguiente (intentar preservar el orden de las líneas, he tenido problemas según el orden en que ponía las cosas)

"Aplica plguins según tipo de fichero
filetype plugin on

"Esquema de color
colorscheme asmanian2

"Identación
set expandtab
set tabstop=2
set cindent
set shiftwidth=2

"Ajustes del plugin OmniCppComplete
set nocp
map <C-F12>  :! ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --languages=c++ /usr/include /usr/local/include <CR>
set tags+=/home/piponazo/tags

"Mostrar números de línea
set number

Si deseamos incluir alguna API adicional al fichero de etiquetas tags se incluirá al final del comando mostrado anteriormente. Aquí podéis ver una instantánea de como funciona el complemento:

OmniCppComplete en GVim

Por su puesto no olvidarse de descomentar la línea “sintax on” del archivo /etc/vim/vimrc para activar la sintaxis para los diferentes tipos de documentos.

GD Star Rating
loading...
Programando en C/C++ con vim, 9.5 out of 10 based on 2 ratings
Share
Categories: Programación, Utilidades, vim Tags: , , ,
  1. Sin comentarios aún.
  1. Miércoles, 12 de marzo de 2008 a las 16:09 | #1
  2. Domingo, 5 de octubre de 2008 a las 12:22 | #2