Linux ofrece muchas alternativas en cuanto a editores de texto. Citemos algunos:
gim: poderoso y pequeño editor patrimonio del BSD.  Del inglés, VI
iMproved.
emacs: el editor definitivo patrimonio del GNU.  Original de RMS
(Richard M.  Stallman).
xemacs: Emacs: La Próxima Generación, originaria de Lucid.
mcedit: editor GNU para principiantes.  Idéntico al editor interno
del mc.  Véase Editor, Sección 4.3.5
ae: pequeño editor que trae por defecto Potato.  Evítelo.
nano: pequeño editor GNU que trae por defecto Woody.  Emula a
pico.
joe: para los nostálgicos usuarios del WordStar o TurboPascal.
jed: editor rápido, con múltiples funciones, basado en menúes y
con las combinaciones de teclas de emacs.
jove: editor muy pequeño con las combinaciones de teclas de emacs.
nvi: el nuevo vi.  Totalmente compatible con el vi original.
Utilice el comando update-alternatives --config editor para cambiar el editor por defecto. Asimismo, muchos programas utilizan las variables de entorno EDITOR o VISUAL para decidir qué editor utilizar. Véase Editor, Sección 4.3.5.
Vale la pena mencionar también algunos editores de texto basados en X:
gvim: Vim con GUI (paquetes vim y
vim-gtk)
emacs: el Único y Verdadero Emacs (autodetecta X).
xemacs: Emacs de la próxima generación (autodetecta X).
Estos comandos aceptan las opciones estándar tales como -fn a24, que facilitan la vida a gente grande como yo :) Véase El cliente X, Sección 9.4.4.
Existen unos pocos editores situados en /bin/.  Debería instalarse
uno de ellos para facilitar la edición de archivos cuando /usr/ no
se encuentre accesible.
elvis-tiny: editor vi mínimo (vi para comenzar)
nano-tiny: editor mínimo (nano-tiny para comenzar)
ed: editor mínimo (siempre allí pero difícil de usar)
Lea el "archivo de ayuda principal de VIM" presionando <F1> mientras ejecuta el programa.
     <F1>           Ayuda
     <esc>          Retorno al modo normal
     V              Modo visual
     i              Modo edición
     :              Modo línea de comandos
     :set tw=72     Establecer el ancho de texto en 72
     <F11>          Modo edición (pegar)
     :r! date -R    Inserta la fecha según la RFC-822
     qa             Grabar lo que se escribe en el registro a
     q              Detiene la grabación
     @a             Ejecutar lo que se escribió en el registro a
     :edit loquesea.txt  Edite otro archivo cargando loquesea.txt
     :wnext         Grabar el archivo actual y editar el siguiente archivo
q y @ pueden utilizarse para grabar y reproducir macros sencillas. Por ejemplo, para crear una macro que inserte etiquetas HTML para cursiva alrededor de una palabra escriba qii<i>^[ea</i>^[q (donde ^[ es la tecla ESC). Entonces, al escribir @i al inicio de una palabra se le añadirán la etiquetas <i> y </i>.
Véase también Usando GnuPG con Vim, Sección 14.4.2.
     <F1>                Ayuda
     <F10>               Menú
     C-u M-! date -R     Inserta la fecha RFC-822
     Iniciar el editor:                  emacs nom_archivo   vim nom_archivo
     Iniciar el modo compatible con vi:                      vim -C
     Iniciar el modo no compatible con vi:                   vim -N
     Iniciar con el compilador por defecto: emacs -q         vim -N -u NONE
     Salir:                              C-x C-c             :qa /:wq /:xa /:q!
     Volver al modo comando:             C-g                 <esc>
     Retroceder (flecha izquierda):      C-b                 h
     Avanzar (flecha derecha):           C-f                 l
     Siguiente (flecha hacia abajo):     C-n                 j
     Anterior (flecha hacia arriba):     C-p                 k
     Comienzo de línea (^):              C-a                 0
     Final de línea ($):                 C-e                 $
     Comandos múltiples:                 C-u nnn cmd         :nnn cmd
     Comandos múltiples:                 M-número cmd
     Guardar archivo:                    C-x C-s             :w archivo
     Comienzo del búfer:                 M-<              1G
     Final del búfer:                    M->              G
     Avanzar 1 pantalla:                 C-v                 ^F
     Avanzar 1/2 pantalla:                                   ^D
     Avanzar una 1 línea:                                    ^E
     Retroceder 1 pantalla:              M-v                 ^B
     Retroceder 1/2 pantalla:                                ^U
     Retroceder 1 línea:                                     ^Y
     Ir a la otra ventana:               M-C-v
     Borrar bajo el cursor:              C-d                 x
     Borrar desde el cursor al final de la línea: 
                                         C-k                 D
     Búsqueda incremental hacia adelante: C-s
     Búsqueda incremental hacia atrás:    C-r
     Buscar hacia adelante:              C-s enter           /
     Buscar hacia atrás:                 C-r enter           ?
     Búsqueda incremental exp. reg:      M-C-s
     Búsqueda incremental hacia atrás exp. reg: M-C-r
     Buscar expresión regular:           M-C-s enter         /
     Búsqueda hacia atrás exp. reg:      M-C-r enter         ?    
     Ayuda:                              C-h C-h             :help
     Ayuda Apropos:                      C-h a
     Ayuda combinaciones de teclas       C-h b               :help [tecla]
     Ayuda Info:                         C-h i
     Ayuda modo mayor:                   C-h m
     Ayuda tutorial:                     C-h t               :help howto
     Deshacer:                           C-                  u
     Rehacer:                            C-f                 ^R
     Marcar posición del cursor:         C-@                 m{a-zA-Z}
     Intercambiar marca y posición:      C-x C-x
     Ir a la marca del archivo actual:                       '{a-z}
     Ir a la marca en cualquier archivo:                     '{A-Z}
     Copiar región:                      M-w                 {visual}y
     Borrar región:                      C-w                 {visual}d
     Copiar y conservar en el búfer:     C-y                 
     Pegar desde el siguiente búfer:     M-y                 p
     Convertir una región en mayúsculas: C-x C-u             {visual}U
     Convertir una región en minúsculas: C-x C-l             {visual}u
     Insertar un carácter especial:      C-q numoctal/tecla  ^V decimal/tecla
     Reemplazar:                         M-x replace-string  :%s/aaa/bbb/g
     Reemplazar expreg:                  M-x replace-regexp  :%s/aaa/bbb/g
     Buscar y reemplazar:                M-%                 :%s/aaa/bbb/gc
     Buscar y reemplazar:                M-x query-replace
     Buscar y reemplazar exp. reg:       M-x query-replace-regexp
     Abrir archivo:                      C-x C-f             :r archivo
     Guardar archivo:                    C-x C-s             :w
     Guardar todos los búferes:          C-x s               :wa
     Guardar como:                       C-x C-w archivo     :w archivo
     Pedir un búfer:                     C-x b
     Listar búferes:                     C-x C-b             :buffers
     Cambiar a sólo lectura:             C-x C-q             :set ro
     Pedir y eliminar búfer:             C-x k
     División vertical:                  C-x 2               :split
     División horizontal:                C-x 3               :vsplit (ver. 6)
     Moverse a otra ventana:             C-x o               ^Wp
     Eliminar esta ventana:              C-x 0               :q
     Eliminar otra(s) ventana(s):        C-x 1               ^Wo
     Ejecutar shell en bg:               M-x compile
     Matar shell en bg:                  M-x kill-compilation 
     Ejecutar make:                                          :make Makefile
     Analizar mensaje de error:          C-x`                :echo errmsg
     Ejecutar shell y grabar:            M-x shell           :!script -a tmp
     ...clean BS, ...                                   :!col -b <tmp >record
     ...guardar/recordar grab. del shell: C-x C-w record     :r record
     Ejecutar shell:                     M-! sh              :sh
     Ejecutar comando:                   M-! cmd             :!cmd
     Ejecutar comando e insertar:        C-u M-! cmd         :r!cmd
     Ejecutar filtro:                    M-| archivo         {visual}:w archivo
     Ejecutar filtro e insertar:         C-u M-| filter      {visual}:!filter
     Mostrar opción                                          :se[t] {option}?
     Volver opción a valor predeterminado                    :se[t] {option}&
     Resetea opción booleana                                 :se[t] no{option}
     Conmutar una opción booleana                            :se[t] inv{option}
     Ajustar el texto en 72 columnas                         :se tw=72
     No ajustar texto                                        :se tw=0
     Sangrado automático                                     :se ai
     Expandir tabulación                                     :se et
     Especificar comentario (correo)                    :se comments=n:>,n:\|
     
     Ejecutar GDB                        M-x gdb                        
     Describe el modo GDB                C-h m                          
     Saltar una línea                    M-s
     Siguiente línea                     M-n
     Saltar una instrucción (stepi)      M-i                            
     Finalizar el marco de la pila actual C-c C-f                        
     Continuar                           M-c                            
     up arg frames                       M-u                            
     down arg frames                     M-d                            
     Copiar número a partir del punto, insertar al final   
                                         C-x &                          
     Colocar un punto de ruptura         C-x SPC
Para utilizar todas las características de Vim y el resaltado de sintáxis
incluya las siguientes líneas en el ~/.vimrc o
/etc/vimrc:
     set nocompatible
     set nopaste
     set pastetoggle=<f11>
     syn on
El modo 'paste' permite evitar que el sangrado automático interfiera con las operaciones pegar/cortar en una terminal o consola. Es mejor que escribir simplemente ":set noai".
Véase Usando GnuPG con Vim, Sección 14.4.2 para integración con GnuPG.
apt-get install exuberant-ctags y ejecute ctags sobre
los archivos fuente.  En vim escriba :tag
nombre_función para ir a la línea donde comienza
nombre_función.  Las marcas funcionan para C, C++, Java, Python y
muchos otros lenguajes de programación.
Emacs utiliza las mismas ctags.
so \$VIMRUNTIME/syntax/2html.vim desde el modo comando de Vim convertirá el texto seleccionado en código HTML. Guárdelo como :w archivo.html y luego escriba :q. Útil cuando se programa en C, etc.
vim puede editar múltiples archivos en un entorno de múltiples ventanas. Escriba ":help usr_08.txt" para más detalles.Para dividir la pantalla para mostrar diferentes archivos, escriba en la línea de comandos de vi:
     :split otro-archivo
     :vsplit otro-archivo
o en la línea de comandos del shell:
     $ vi -o archivo1.txt archivo.txt    # División horizontal
     $ vi -O archivo1.txt archivo2.txt   # División vertical
en ambos casos se podrá trabajar con múltiples ventanas.
     $ vimdiff archivo.txt~ archivo.txt
     $ gvimdiff archivo.txt~ archivo.txt # en X
proporcionan una vista muy cómoda para comparar un archivo con su copia de respaldo. En SGML analiza las etiquetas y por lo tanto resulta muy útil cuando se trata de comparar traduciones.
Movimientos del cursor especiales con los comandos Ctrl-W:
     Ctrl-W +      incrementar el tamaño de una ventana
     Ctrl-W -      disminuir el tamaño de una ventana
     Ctrl-W h      ir a la ventana izquierda
     Ctrl-W j      ir a la ventana inferior
     Ctrl-W k      ir a la ventana superior
     Ctrl-W l      ir a la ventana derecha
     ...
Los siguientes comandos permiten controlar el desplazamiento de la pantalla:
     :set scrollbind
     :set noscrollbind
Guía de referencia Debian
CVS, lun abr 3 22:57:45 UTC 2005osamu@debian.orgwecharri@infovia.com.ar