Este tutorial está pensado para adentrar a los nuevos usuarios a usar mg. Encontrarás más información dispoible en la página de man.
mg es un editor de dominio público pensado para recordar aproximadamente a GNU Emacs a la vez que sigue siendo veloz y con un consumo contenido de memoria.
La mayoría de los comandos de mg involucran usar la tecla Ctrl o Alt. Usaremos la siguiente convención en este tutorial:
C-<car> significa presionar la tecla Ctrl mientras se presiona el caracter <car>.M-<car> significa presionar la tecla Alt mientras se presiona el caracter <car>.Si no tiene una tecla Meta, puede usar la tecla Esc. Presione y suelte la tecla Esc y presione el caracter deseado.
Lo primero a aprender es cómo moverse arriba y abajo en un documento. Para mover su cursor una línea abajo, yse la tecla Flecha de cursor Abajo, o Ctrl+n.
Felicitaciones. Aprendiste a mover tu cursor abajo. Para mover el cursor arriba una línea puedes usar la tecla cursor arriba con Ctrl+p.
Los siguientes comandos te enseñaran cómo mover el cursor de izquierda a derecha. Para hacerlo, puedes usar las flechas de cursor izquierdo o flecha de cursor derecho, pero alternativamente también puedes usar Ctrl+b y Ctrl+f respectivamente.
Para recordar estos comandos, te será útil recordar la letra: P previo, N siguieNte, B Atras, F adelante.
Ahora que aprendiste como moverte de a un caracter a la vez, aprenderás a moverte de a una palabra por vez. Para hacerlo, usá M-f (Alt+f) o M-b (Alt+b) para avanzar o retroceder entre las palabras.
Fijate como las combinaciones de la tecla Ctrl y Alt realizan funciones relacionadas. Ctrl+f avanza una letra, mientras que Alt+f avanza una palabra. Existen muchas combinaciones de teclas en mg, mientras que Ctrl+car realizará una función y Alt+car llevará a cabo otra relacionada.
Más probablemente es que para ahora hayas avanzado al final del texto que se mostraba inicialmente al comenzar con tu documento. Mg redibuja la pantalla de la terminal, de manera que el cursor quede en el medio. Esta es una funcionalidad de mg que te permite seguir viendo tanto líneas antes como después de la posición actual del cursor (lo mismo puede lograrse a mano).
Fijate que Ctrl+l refresca la pantalla de la terminal y centra el texto en la línea en la que estás posicionado.
Para moverse al comienzo o al final de la línea, podés usar las teclas Inicio y Fin, o podrías usar Ctrl+a y Ctrl+e para moverte al comienzo al final de la línea.
Los siguientes comandos te enseñarán a moverte arriba y abajo, de a una página por vez.
Para hacer esto, podés usar RePág o AvPág. También podrías usar Ctrl+v y Alt+v para hacerlo. Ctrl+v mueve el cursor una página, mientras que Alt+v lo retrocede una página.
Los últimos dos comandos de movimiento que aprenderás son M-< (Alt+<) y
M→ (Alt+>) que te desplazan al comienzo o final de un fichero respectivamente. Podrías no querer intentarlo ahora, ya que probablemente podrías perderte en este tutorial. Ten en cuenta que en algunos teclados el requiere que presiones Mayúsculas para tipear <.
El siguiente es un resúmen de los comandos de movimiento que has aprendido hasta ahora:
| Atajo | Movimiento |
|---|---|
| C-f | Avanza un caracter (también flecha derecha). |
| C-b | Retrocede un caracter (flecha izquierda). |
| C-p | Sube una línea (flecha arriba). |
| C-n | Baja una línea (flecha abajo). |
| M-f | Avanza una palabra. |
| M-b | Retrocede una palabra. |
| C-a | Va al comienzo de la línea (tecla Inicio). |
| C-e | Va al final de la línea (tecla Fin). |
| C-v | Avanza una página (tecla AvPág). |
| M-v | Retrocede una ágina (tecla RePág). |
| M-< | Va al comienzo del fichero. |
| M→ | Va al final del fichero. |
Ahora que dominaste los movimientos básicos para desplazarte en un documento en mg, podré hacer que mg ejecute esos comandos muchas veces. La manera de hacerlo es ingresar Ctrl+u seguido de algunas cifras seguidas del comando de movimiento
6 Ctrl+f para avanzar 5 caracteres.En general, Ctrl+u te permite ejecutar cualquier comando múltiples veces, no solamente comandos de movimiento del cursor. La única excepción a esta regla son Ctrl+v y Alt+v.
Cuando uses esos dos comandos con un argumento, mueven el cursor una determinada cantidad de líneas en lugar de una determinada cantidad de páginas.
Si comenzaste a tipear un comando y no queres finalizarlo, podés usar el comando Ctrl+g para cancelar el comando inmediatamente
50 y luego ingresá Ctrl+g para cancelar el comando Ctrl+u.
En general, se usa Ctrl+g para detener cualquier comando de mg. Podés ingresarlo múltiples veces si lo deseás. Deberías ver aparecer la palabra Quit en la parte de abajo de la pantalla cuando lo hacés, indicando que fue cancelado un comando.
En general, cuando estés en duda en mg, usá Ctrl+g para salir de problemas en mg.
Para insertar texto en cualquier lado, simplemente mueve el cursor en la posición apropiada y comienza a tipear. Para borrar caracteres, usa la tecla Retroceder. Su usas Alt+Retroceder, borrarás una palabra entera en lugar de un caracter por vez.
Para borrar caracteres a la derecha del cursor, podés usar Ctrl+d o Supr. Si usás Alt+d en lugar de Ctrl+d borrarás de a una palabra a la derecha del cursor por vez en lugar de hacerlo de a un caracter a la derecha del cursor por vez.
Tené en cuenta que si tipeás muchos caracteres en una sola línea, la línea va a rebalsar por el costado derecho de la pantalla de la terminar y verías un signo $ al final de la línea que indica que la línea es muy larga como para entrar en la pantalla.
Para borrar de a una línea por vez, podés usar Ctrl+k para eliminar la línea en la posición actual del cursor hasta el final de dicha línea. Podrás ingresar Ctrl+k varias veces para eliminar muchas líneas.
Podés indicar múltiples veces el comando de insertar o borrar usando Ctrl+u. Por ejemplo, Ctrl+u e ingresará eeeeeeeee, Ctrl+u 4 Alt+d borrará 4 palabras a la derecha del cursor, etcétera.
Para deshacer cualquier operación, puedes usar Ctrl+_ (Ctrl + guión bajo).
Ahora si eliminas algo que no querías, puedes traerlo desde los muertos usando Ctrl+y. En general, cuando eliminas algo mayor que un sólo caracter, mg lo almacena en un buffer de memoria secundario y podrás restaurarlo usando Ctrl+y. Esto resulta útil para mover texto. Podés eliminar texto en un lugar, mover al cursor a la nueva posición, y usar Ctrl+y para pegarlo ahí.
Para buscar un texto, ingresá Ctrl+s seguido del texto que querés buscar. Tené en cuenta que cuando empezás a escribir los caracteres, mg empieza a buscarlos a medida que los vás tipeando.
Para continuar buscando el texto que te interesa, ingresá Ctrl+s para buscarlo una vez más. Para buscar en reversa, ingresá Ctrl+r en lugar de Ctrl+s. Si tipeás Ctrl+s o Ctrl+r dos veces, simplemente va a buscar el último texto que estuviste buscando.
Para cesar la búsqueda de texto, simplemente usá las teclas del cursor (o Ctrl+f o Ctrl+b, etc), o Ctrl+g para cancelar la operación de búsqueda.
mengano en el texto. Podés usar Ctrl+s nuevamente para buscar otras instancias de mengano en el fichero.
Observá que si no puede encontrar una palabra, informará con el mensaje Failing I-search: al final de la pantalla. Ctrl+s continuará la búsqueda desde el comienzo del fichero y seguirá buscando desde allí.
Para reemplazaar texto, usa Alt+%. Se te consultará qué tenxto deseas buscar, y el texto por el que quieres reemplazarlo. Luego te llevará a una primera instancia del texto encontrado. En este punto, podrás hacer alguno de lo siguiente:
y | Reemplazar el texto de esta instancia y buscar otra vez. |
n | Saltar esta instancia y buscar nuevas instancias. |
. o Enter | Dejar de reemplazar texto (podrás usar Ctrl+g). |
! | Reemplazar todas las instancias sin preguntar en cada una de ellas. |
mengano con sultano en esta línea.Como se explicó arriba, podrás cortar regiones de texto utilizando Ctrl+k para eliminar múltiples líneas. Para pegar el texto que acabas de cortar, simplemente mové el cursor al lugar deseado y luego ingresá Ctrl+y para restaurar el texto. Podrías tipear Ctrl+y múltiples veces para restarurar el texto. Por lo tanto, para copiar texto, puedes usar Ctrl+k para eliminar todas las líneas, luego usar Ctrl+y para restaurarlo inmediatamente, luego moverte a la región donde quieres copiarlo y luego tipear Ctrl+y para restaurar el último bloque de texto cortado nuevamente.
Otra manera de cortar o copiar pedazos de texto es primero prosicionar el cursor el el comienzo del sector de texto, luego tipear Ctrl+Barra espaciadora para marcar el punto de inicio de selección. Luego mover el cursor al punto final de la selección deseada, y presionar Ctrl+w para cortar la región, o Alt+w para copiar la región. Si querés cancelar el marcado de un bloque de texto, simplemente usá Ctrl+g para cancelar la operación.
Para pegar la región que cortaste o copiaste arriba, simplemente movete con el cursor a la zona deseada y luego usá Ctrl+y para pegarlo.
Al final de la pantalla se encuentra una línea de video inverso. Esta es la línea de status y te ofrece alguina información útil.
En la línea de estatus podría aparecer Mg: tutorial. Esto le hará ver que está editando un fichero llamado tutorial. Si ha editado este fichero y no lo ha guardado, podrá ver un ** al final de dichas palabras. Si este fichero es de sólo lectura, verá un %% en su lugar.
A la derecha de la línea de status, podrá ver una L seguida de dígitos, y si está activado el modo column-number-mode, una C seguida por más dígitos. Ingrese Alt+x column-numbre-mode tecla Intro para activarlo si estaba desactivado (por defecto). Esto indica el número de línea y coluna donde está colocado el cursor. Si mueve el cursor, debería ver cambiar estas coordenadas.
En el medio de la pantalla, debería ver la palabra (fundamental) que indica que el modo de edición actual es el fundamental-mode. El editor mg también sorpota un c-mode que se ve mas adecuado para editar código en lenguaje C. También existen otros modos de edición útiles para distintas situaciones.
Consulta los modos de edición de mg en su página man.
Para abrir un fichero, puedes usar Ctrl+x, Ctrl+f. Se le preguntará el nombre de fichero.
Si ingresa un nombre de fichero que no existe aún, se abrirá un archivo nuevo en blanco. Si ya existe el nombre de fichero, se abrirá para poder comenzar a editarlo. Tenga presente que no necesita escribir el nombre entero de un fichero existente; puede autocompletar el nombre presionando la tecla tab. Si existe sólo un nombre d efichero que coincide, mg completará lo restante, y si existieran varios ficheros con el mismo comienzo, mg se los mostrará para que termine de elegir sin ambigüedades. Si presiona la tecla Tab nuevamente, mg le mostrará todas las opciones de ficheros disponibles.
Si ingresas Ctrl+x,f en lugar de Ctrl+x, Ctrl+f, podrás usar Ctrl+g para cancelar el comandoSet-Fill-Column. También puedes usar Ctrl+g para cancelar el comando Ctrl+x, Ctrl+f si cambiaste de opinión y no desea abrir un fichero nuevo.
Para savar un fichero una vez que lo ha editado, use Ctrl+x, Ctrl+s para guardar el fichero. Cuando mg termine de guardar el fichero, verá el mensaje Wrote /ruta/al/fichero abajo en la pantalla. En general, es una buena idea guardar a menudo. Cuando guarde un fichero, mh realiza un respaldo del fichero con el caracter tilde al final (~).
Si decide abrir un directorio en lugar de un fichero, mg transicionará a un modo llamado dired. Dired completa un buffer con los contenidos del directorio seleccionado, con un fichero o subdirectorio por línea. Podrá realizar entonces algunas funciones básicas de gestión de ficheros y subdirectorios en esta ventana. Por ejemplo, tras colocar el cursor sobre un fichero específico:
c le dará la oportunidad de copiar el fichero.d marcará el fichero para su borrado.x desmarcará ficheros previamente marcados para su borrado.Existen más comandos dired, consúltelos en la página man de mg.
Una vez que se carga un fichero en mg, a menudo se refiere a que está en un buffer.
El editor mg es capaz de editar múltiples bufferes al mismo tiempo. Cuando abre un segundo fichero con Ctrl+x,Ctrl+f, el primer buffer aún podrá ser editado en mg.
Ambos buffers pueden ser vistos en simultáneo porque mg puede contar con varias ventanas activas al mismo tiempo, y en cada una de ellas se puede colocar un buffer diferente. Para dividir una ventana en dos ventanas horizontales use Ctrl+x 2. Para volver a una ventana use Ctrl+x 1 para cerrar las otras ventanas y sólo retener la ventana actual.
2 para dividir la pantalla en dos ventanas.1 para restaurar a vista de una única ventana.
Podés listar todos los buffers abiertos con Ctrl+x,Ctrl+b. La pantalla debería dividirse en dos y en la ventana superior listará los buffers que están abiertos actualmente. Usá Ctrl+x,o para conmutar a la ventana superior, y luego usa las flechas del cursor para moverte al búffer al que queres pasar, y luego presioná la tecla Intro para seleccionar ese buffer. Luego usá Ctrl+x 1 para volver a la vista de una única pantalla.
También podrías moverte al último buffer abierto usando Ctrl+x,b para conmutar entre los dos búffers. Tené presente la diferencia entre Ctrl+x,b y Ctrl+x,Ctrl+b.
Para eliminar cualquier buffer, usá Ctrl+x,k. Se te preguntará cuál buffer querés eliminar. Por defecto se seleccionará el buffer actual para su eliminación, pero podés tipear otro nombre de buffer o usar Ctrl+g para cancelar la operación de eliminación.
El editor mg cuenta con varios comandos extendidos, mas de los que pueden abarcar las teclas Ctrl y Alt. EL editor mg supera esto empleando lo que se llama el comando eXtendido. Existen dos maneras de hacerlo:
| Ctrl+x | EXtensión de caracteres; seguido por un carácter |
| Alt+x | Carácter nombrado y eXtensión; seguido por un largo comando |
Ya has visto Ctrl+x, Ctrl+f y Ctrl+x,Ctrl+s para abrir y guardar un fichero. Existen otros comandos más largos. Por ejemplo, también es posible abrir un fichero ingresando Alt+x find-file tecla Intro. Cuando tipeás un comando usando Alt+x, mg preguntará el comando que deseás al final de la pantalla. Podés tipear el nombre entero del comando deseado, o podés escribir la primer parte del nombre del comando y usar la tecla Tab para autocompletarlo, antes de presionar Intro.
Por ejemplo, para reemplazar texto, podrías ingresar Alt+x repl Tecla Tab para ejecutar el comando replace-text. Para cancelar este comando ingresá Ctrl+g.
Para ver un listados de todos los comandos disponibles en mg, consulta su man.
Para salir remporalmente de mg y volver la shell, usá Ctrl+z. Esto te dejará en la Shell. Para volver a mg, ingresá fg para pasar mg al primer plano.
Oara salir permanentemente de mg, ingresá Ctrl+x,Ctrl+c. Si tenés buffers sin guardar, se te preguntará si querés guardarlos o no.
Ya aprendiste todo lo necesario para ser proficiente en el editor mg. Comentalo con el resto de la comunidad:
gab -m "¡Terminé el Tutorial del editor mg!"