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.