Edición de texto

Indicadores de Logros:

Lecturas: Editores de texto

Aunque hay varios editores gráficos para X-Window y Gnome, dos de más populares son vi y emacs, ambos funcionan en modo texto y ambos fueron diseñados para lograr eficencia en la edición de textos.

Cada uno de estos editores tiene ventajas y desventajas frente al otro. vi requiere muy poca memoria, es veloz y busca minimizar el desplazmiento de los dedos, por su parte emacs ofrece gran diversidad de servicios adicionales a la edición de texto (calendario, correo electrónico, calculadora, comparador de archivos, juegos y muchas otras).

En esta sección se presenta una introducción extra breve a cada uno de estos editores y a algunas herramientas como correctores ortográficos y diccionarios. Los dos editores tienen muchisima más funcionalidad que la presentada aquí y para disfruta más la edición con estos editores es necesario consultar la documentación completa (se presentan referencias en las lecturas de profundización).

Vi

Para editar un texto (digamos ma.txt) con el editor vi, teclee desde un intérprete de comandos:


vi ma.txt
vi es un editor con dos modos: edición y comandos. En el modo de edición el texto que ingrese será agregado al texto, en modo de comandos las teclas que oprima pueden representar algun comando de vi. Cuando comienze a editar un texto estará en modo para dar comandos el comando para salir es : seguido de q y ENTER --con ese comando saldrá si no ha hecho cambios al archivo o los cambios ya están salvados, para salir ignorando cambios :q! seguido de ENTER.

Teclas en vi para salir ignorando cambios.

Puede insertar texto (pasar a modo edición) con varias teclas:

i

Inserta texto antes del caracter sobre el que está el cursor.

a

Inserta texto después del caracter sobre el que está el cursor.

I

Inserta texto al comienzo de la línea en la que está el cursor.

A

Inserta texto al final de la línea en la que está el cursor.

o

Abre espacio para una nueva línea después de la línea en la que está el cursor y permite insertar texto en la nueva línea.

O

Análogo al anterior, pero abre espacio en la línea anterior.

Tecla en vi para insertar texto antes del caracter sobre el que está el cursor.

Tecla en vi que permite pasar de modo edición a modo comando.

Tecla en vi que permite ir al comienzo de la línea en la que está el cursor.

Para pasar de modo edición a modo de comandos se emplea la tecla ESC, para desplazarse sobre el archivo puede emplear las flechas, PgUp, PgDn[1]. Para ir a una línea específica puede emplear : seguido del número de línea y ENTER, para ir al final de la línea en la que está el cursor $,para ir al comienzo 0. Para buscar un texto / seguido del texto que desea buscar y ENTER. Después de hacer cambios puede salvarlos con :w o para salvar y salir puede emplear ZZ. Para ejecutar un comando del interprete de comandos puede emplear :! seguido del comando y ENTER (e.g :!ls).

En su sistema puede haber diversas versiones de vi, recomendamos vim que ofrece extensa ayuda y cuenta con varias extensiones, por ejemplo:

Digrafos

Útil para producir caracteres del español, si el teclado o la configuración del mismo no lo permiten (hay otras formas de lograrlo ver Teclado, ver Localización y configuración de algunos programas). Presione Control-K y depues una secuencia de dos teclas de acuerdo al caracter, e.g 'a produce á, n? produce ñ, u: produce ü, !I produce ¡, ?I produce ¿. Pueden verse otros caracteres con el comando :digraphs.

Resaltado de sintaxis

Permite ver con colores que resaltan la sintaxis de algunos tipos de archivos (por ejemplo fuentes de DocBook, C, LaTeX). Se activa con :syntax enable

Indentación automática

Permite indentar automáticamente diversos tipos de archivos por como XML, C, LaTeX, XSLT. Se activa con :filetype indent on y :filetype indent on.

Archivo de configuración

Cada usuario puede tener sus propias configuraciones en el archivo ~/.vimrc, que consta de líneas con comandos o comentarios. Los comandos no deben iniciar con ':' y los comentarios se colocan en líneas completas o al final de una línea iniciando con comillas. Por ejemplo:


" Este es un ejemplo de archivo de configuración para vim
syntax enable
filetype on
filetype plugin on
filetype indent on
	

Sesión de vim

Emacs

Para editar un texto (nuevamente ma.txt) con emacs teclee:


emacs ma.txt

que en ambiente X-Window abrirará un ventan nueva o para abrir el archivo en una terminal texto:


emacs -nw ma.txt

Una vez en emacs podrá desplazarse sobre el texto con las flechas y escribiendo insertará texto (no hay modos). Los comandos en emacs se indican con secuencias de teclas que comienzan con la tecla ESC (llamada Meta y abreviada como M en la documentación de Emacs) o teclas que se oprimen simultaneamente con Control (abreviada con C en la documentación de Emacs). Algunas secuencias de teclas útiles son:

C-x C-c

Para salir de Emacs. (Note que son dos secuencias de teclas, primero Control simultáneamente con x y después Control simultáneamente con c).

C-x C-s

Para salvar el archivo que se está editando.

C-e

Para ir al final de una línea.

C-a

Para ir al comienzo de la línea.

M-<

Para ir al comienzo del archivo.

M->

Para ir al final del archivo.

C-s

Para buscar incrementalmente un texto.

C-f

Avanzar a la derecha o a la siguiente línea si se está al final de una. Equivalente a flecha a la derecha.

C-b

Avanzar a la izquierda o al final de la línea anterior si está al comienzo de una. Equivale a flecha a la izquierda.

C-n

Avanzar a la línea siguiente, equivalente a flecha hacia abajo.

C-p

Pasar a la línea anterior, equivale a flecha hacia arriba.

M-x

Para dar un comando especial a Emacs, entre los comandos especiales están: info para consultar dentro de emacs páginas del manual info, man para consultar páginas del manual, shell para abrir una terminal dentro de emacs.

Comando en emacs para ir al comienzo de la línea.

Comando en emacs para salir.

Comando en emacs para iniciar una busqueda incremental hacia adelante.

En parte inferior de este editor verá una línea de modo (tiene varios guiones) y debajo de esta el minibuffer o área de eco en la que Emacs recibe y envia información del usuario. La línea de modo puede aparecer con dos asteríscos al comienzo para indicar que el texto editado se ha modificado y no se ha salvado.

Hay algunas extensiones para emacs que dan nueva funcionalidad, por ejemplo gnus para leer noticias y correo (si está disponible lo inicia con M-x-gnus), w3 para navegar en el web (lo inicia con M-x w3) y emacspeak que lee la información presentada en Emacs con una tarjeta de sonido --muy útil para personas invidentes.

Corrección ortográfica

Para emplear esta funcionalidad en su sistema deben estar instaladas la lista de palabras de español y los archivos para español de ispell (ver Localización y configuración de algunos programas) Desde la línea de comandos puede emplear el programa look para verificar que una palabra esté en la lista de palabras de español:


look "amoroso" /usr/share/dict/spanish

También desde la línea de comandos puede emplear ispell para revisar y corregir interactivamtne un texto en español:


ispell -d spanish carta.txt

O un documento en LaTeX agregando la opción -t o en HTML o DocBook con la opción -h (ver Sistemas para preparar documentos).

Si emplea el editor Emacs, y en su sistema ya está instalado el diccionario en español para ispell de forma apropiada para Emacs (ver Localización y configuración de algunos programas) podrá elegir castellano del menú Edit+Spell, para revisar el documento completo desde el mismo menú puede elegir Check Buffer o para revisar la palabra sobre la que está el curso use M-$.

Si emplea el editor vim, puede agregar a su archivo de configuración ~/.vimrc, un script que implemente la corrección de ortografía. Por ejemplo hay un script bien documentado en: http://www.stripey.com/vim/spelling.html

Modifique el idioma (let IspellLang = 'spanish') y la ubicación de la lista de palabras en español: set dictionary+=/usr/share/dict/spanish. Una vez lo agregue, e inicie una sesión de vim, podrá revisar el documento completo con F9, las palabras con errores quedarán resaltadas (con F10 borra el resaltado).

Diccionarios

Hay algunos diccionarios en inglés, tanto generales como especializados. Puede revisar la lista de los que están instalados en su sistema con:

     
dict -D

Iniciando una sesión remota con
	  ssh por primera
	  vez

Puede consultar información sobre el diccionario easton con dict -i easton, para buscar la palabra "life" en todos los diccionarios dict life o sólo en easton con dict -d easton life

Puede ver más sobre dict y los diccionarios en la sección sobre configuración de programas (Localización y configuración de algunos programas).

Lecturas recomendadas: Editores de texto

Ejercicios: Editores de texto

1. Copie a su directorio el tutorial para principiantes de vi, localizado en /usr/doc/nvi/vi.beginner.gz, descomprímalo y estudíelo desde vi.
2. Entre a emacs y estudie el tutorial.
3. Emplee ispell para corregir ortografía desde la línea de comandos, desde emacs y desde vim.

1. Copie a su directorio el tutorial para principiantes de vi, localizado en /usr/doc/nvi/vi.beginner.gz, descomprímalo y estudíelo desde vi.

cd ~ ; cp /usr/doc/nvi/vi.beginner.gz . ; gzip -d vi.beginner.gz ; vi vi.beginner

2. Entre a emacs y estudie el tutorial.

emacs ; C-h t

3. Emplee ispell para corregir ortografía desde la línea de comandos, desde emacs y desde vim.

ispell texto.txt. Desde emacs usar el menu Tools+Spell Checking+Spell-Check Buffer. Desde vim instalar el modo sugerido y F9.

Notas

[1]

La función de las flechas también la cumplen las teclas h, j, k y l