Hola, ¿que tal?. Creo que todos utilizamos herramientas diferentes, pero
bueno, yo te puedo comentar acerca del editor que me gusta.
Utilizo un editor de textos llamado VIM. Este es muy particular,
porque no solo me resulta útil para programar, también lo utilizo para
editar este mensaje, escribir tutoriales y modificar la Web.
Te comento algunas de las características que utilizo con frecuencia:
- VIM soporta auto-completado inteligente de código, por lo tanto puedes
escribir el nombre de un módulo en python, o una estructura en C, y el
editor te sugiere todos los atributos que tienes disponibles, ocurre
lo mismo con las funciones:
para activar el auto-completado de código puedes utilizar la combinación
de teclas CTRL+X CTRL+O. Aunque existen muchas formas de auto-completar, por
ejemplo si pulsas CTRL+N podrás auto-completar palabras simples (como nombres
de variables y funciones).
Luego puedes definir atajos mas accesibles, pero en principio las
conbinaciones son así... ah, CTRL-x CTRL-f autocompleta nombres de
directorio.
- Con vim puedes observar varios archivos a la vez, esto es útil
cuando construyes programas en C, donde utilizas un archivo .h para declarar
estructuras o funciones y un archivo .c para implementar el código de
cada función. Es fácil copiar y pegar entre archivos, de hecho es útil
para comparar distintas versiones de archivos:
utiliza los comandos ":split", ":vsplit" o ":Explore" para verlo en
funcionamiento.
- Es fácil invocar a comandos externos, como un compilador por ejemplo.
Solo debes escribir el nombre de comando con un signo de
interrogación: ":!comando".
También puedes leer la salida del comando ejecutado y colocarlo en el
archivo actual: por ejemplo ":r !date" coloca la fecha actual del
sistema en tu pantalla y ":r !ls" una lista de todos los archivos
del directorio.
En GNU/Linux casi-todo se puede hacer mediante comandos, de ahí la
utilidad de poder combinar todo esto con VIM.
- Se puede configurar para hacer mas eficiente tu trabajo, por ejemplo, a mí
me resulta útil tener un atajo de teclado para probar programas escritos
en python. Con otros editores necesito: grabar el archivo, salir del
programa, ir a un terminal y ejecutar "python mi_archivo.py". En VIM solo
pulso la tecla F3 y todo esto se hace solo. Lo único que he configurado
en mi archivo ".vimrc" con las siguientes lineas:
- Código: Seleccionar todo
augroup filetypedetect
au BufNewFile,BufRead *.py map <F3> :w<CR>:!clear; python %<CR>
augroup END
también puedo autocomentar texto mediante la tecla TAB con las siguientes
sentencias (también en vimrc):
- Código: Seleccionar todo
"Autocompletado de palabras mas accesible con la tecla <TAB>"
function InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
else
return "\<c-p>"
endif
endfunction
VIM tiene muchas mas características, pero aquí solo indico las que mas
utilizo.
Con respecto a los proyectos grandes, sobretodo si se trata de proyectos
en lenguaje C, creo que te resultará útil comenzar a utilizar la
herramienta "Make". Su funcionamiento es muy sencillo, simplemente
utilizas un archivo llamado "Makefile" para definir los archivos de tu
proyecto y los parámetros del compilador (bibliotecas, dependencias, etc).
Por ejemplo, imagina que tengo un proyecto que utiliza SDL/SDL_TTF y
está compuesto de 3 archivos: "main.c", "util.c" y "sprite.c". Un
posible archivo Makefile para este proyecto es:
- Código: Seleccionar todo
CFLAGS=`sdl-config --cflags`
LDFLAGS=`sdl-config --libs` -lSDL_ttf
main: main.o util.o sprite.o
ahora, para compilar debes escribir el comando "make" y ya está, en pantalla
observarás lo siguiente:
- Código: Seleccionar todo
cc `sdl-config --cflags` -c -o main.o main.c
cc `sdl-config --cflags` -c -o util.o util.c
cc `sdl-config --cflags` -c -o sprite.o sprite.c
cc `sdl-config --libs` -lSDL_ttf main.o util.o sprite.o -o main
es decir, "make" escribió todo eso por nosotros, y si lo llamamos nuevamente
"make" solo "compilará" los archivos que has modificado, no todos.
Hay buenos tutoriales de Make en Internet, pero esto es lo mas básico que
puede hacer (y no es poco).
Cabe decir que también puedes llamar a "make" desde VIM. Esto facilita mucho
tu tarea, dado que si tu programa tiene algún error al compilar, VIM te
llevará directamente a la linea en la que te has equivocado...
En fin, todo esto tiene una desventaja importante, VIM es un herramienta
muy poderosa o por ello se debe aprender a utilizar con mucha paciencia.
Si escribes mucho "texto" frente a la computadora, te recomiendo buscar
tutoriales en Internet sobre el tema, hay muchos y muy buenos.
PD: Dentro de unos días daré una charla sobre este editor en el evento
CaFeCONF. Intentaré hacer un resumen de la misma para compartirlo con
quienes no puedan asistir...
Saludos.