¿Para qué sirve la información de GNU?

62

Entiendo qué es GNU Info y cómo usarlo, pero ¿ para qué sirve ? ¿Por qué existe en paralelo a las páginas man? ¿Por qué no escribir páginas de manual detalladas en lugar de proporcionar una utilidad separada?

johntait.org
fuente
3
El archivo texinfo puede hacer mucho más las macros de groff.
jordanm
15
Tiene una ventaja sobre las páginas de manual: "hipervínculos". El resto son desventajas, comenzando con Not Invented Here Syndrom, combinaciones de teclas divertidas, problemas de mantenimiento de directorios y muchos más.
Jens
44
Úselo info --vi-keyspara hacer que las combinaciones de teclas de información se sientan más familiares. También se puede utilizar lesscon la información para que se sienta como man: info --subnodes -o - $1 | less. Sin embargo, se pierde algo de formato de texto de esta manera.
1
Alternativamente, apunte su navegador a gnu.org/manual . (Usar Vimperator / Vrome es opcional).
nwk

Respuestas:

63

GNU Info fue diseñado para ofrecer documentación que fuera completa, con hipervínculos y que fuera posible generar en múltiples formatos.

Las páginas de manual estaban disponibles, y fueron excelentes para proporcionar salida impresa. Sin embargo, fueron diseñados de tal manera que cada página de manual tenía un conjunto de contenido razonablemente pequeño. Una página de manual podría tener una discusión sobre una única función de C, como printf (3), o describiría el comando ls (1).

Eso se rompe cuando entras en sistemas más grandes. ¿Cómo encajaría la documentación de Emacs en las páginas man? Un ejemplo del problema es la página de manual de Perl, que enumera 174 páginas de manual separadas que puede leer para obtener información. ¿Cómo navega a través de eso o realiza una búsqueda para averiguar qué significa &&?

Como una mejora sobre las páginas de manual, Info nos dio:

  1. La capacidad de tener un solo documento para un sistema grande, que contiene toda la información sobre ese sistema. (versus 174 páginas de manual)
  2. Capacidad para realizar búsquedas de texto completo en todo el documento (v. Man -k, que solo verifica las palabras clave)
  3. Hipervínculos a diferentes partes del mismo documento o de diferentes documentos (v. La sección Ver también, que se convirtió en hipervínculos por parte de algunos, pero no todos, los lectores de la página del manual)
  4. Un índice para el documento, que podría examinarse o podría presionar "i" y escribir un término y buscaría el índice y lo llevaría al lugar correcto (v. Nada)
  5. Exploración lineal de documentos a través de conceptos, lo que le permite leer las secciones anteriores y siguientes si lo desea, ya sea con el mouse o con la tecla (v. Nada).

¿Sigue siendo relevante? Hoy en día, la mayoría de las personas diría "Esta documentación no pertenece a una página de manual" y la pondrían en un PDF o en HTML. De hecho, los sistemas de ayuda en varios sistemas operativos se basan en HTML. Sin embargo, cuando se creó GNU Info (1986), HTML aún no existía. Hoy en día, texinfo le permite crear PDF, información u otros formatos, para que pueda usar esos formatos si lo desea.

Es por eso que se inventó GNU Info.

Alan Shutko
fuente
66
man -K foo, con la opción en mayúsculas, realiza una búsqueda global de texto completo. Prueba man -K global-apropos: encuentra las páginas por mansí mismo, en inglés y en el idioma local.
Volker Siegel
1
¿Cómo saber qué significa '&&'? ... mira en el índice: "man perl", desde allí verá Descripción general, tutoriales, manual de referencia, internos, misceláneos (libros, fuentes comunitarias, licencia, registros de cambios) (~ 40), documentos específicos de idioma + plataforma. De ellos, para '&&', miro en la sección de referencia y veo la sintaxis, los datos y los operadores, como las primeras 3 secciones, como la mayoría de los manuales de referencia de idiomas. && parece una operación, así que miro en la página de manual de perlop, y en la segunda pantalla aparece una lista de todos los operadores. Compárelo con descifrar claves para --vi-mode arg a 'info' ... buena suerte.
Astara
41

La razón por la que se inventó el sistema de información es la necesidad, pero supongo que "pereza, arrogancia e impaciencia" es una explicación igualmente buena.

El objetivo del proyecto GNU era desarrollar un sistema operativo y herramientas libremente modificables y libremente distribuibles. El sistema tradicional de Unix man se basaba en el sistema de formateo de documentos nroff / troff de Bell Labs, que en ese momento era un software comercial (no libre). Finalmente, ese sistema fue diseñado por ingeniería inversa y se creó un reemplazo gratuito llamado groff, pero eso fue varios años después de que comenzara el proyecto GNU. Por lo tanto, usar el sistema man para la documentación de GNU antes habría requerido implementar un reemplazo troff, una gran empresa.

Mientras tanto, GNU Emacs fue el primer gran proyecto de GNU y requirió una extensa documentación. Frente a una montaña de trabajo que implementa el sistema GNU, Richard Stallman buscó el software existente que podría usar en su sistema. TeX ya existía y tenía poderosas capacidades de formateo de documentos. A diferencia de nroff / troff, TeX era libre de usar y redistribuir. Texinfo fue creado como un sistema de documentación para aprovechar el poder de TeX para manuales impresos y GNU Emacs para procesamiento y lectura de documentación en línea. El procesador Texinfo original y el navegador de documentos Info fueron escritos en Lisp y se ejecutaron dentro de Emacs. Las utilidades independientes de Texinfo llegaron varios años después.

Kyle Jones
fuente
20

Como dice la página de Wikipedia , Richard Stallman diseñó TeXinfo como la documentación oficial del proyecto GNU. Es un conjunto de macros sobre TeX, y fue diseñado para escribir manuales de software. Creo que Stallman consideró que las páginas de manual eran inadecuadas para la tarea. Dos ventajas que tiene Texinfo sobre las páginas de manual es que está hipervinculado, y en segundo lugar, que es, por diseño, fácil de convertir a otros formatos.

APÉNDICE: Si bien no es estrictamente relevante para la pregunta, tenga en cuenta que las páginas de manual todavía se consideran el sistema de documentación estándar en sistemas gratuitos tipo Unix como los que se ejecutan sobre el núcleo de Linux y también los diversos sabores de BSD. Por ejemplo, las plantillas de paquetes de Debian fomentan la adición de una página de manual para cualquier comando, y también lintian comprueba una página de manual. Texinfo todavía no se usa ampliamente fuera del proyecto GNU.

Faheem Mitha
fuente
2
+1 especialmente para la nota sobre hipertexto, que creo que fue una razón importante para querer alejarnos del manformato orientado a la copia impresa (entonces más que ahora) .
Tripleee
@ChristopherSchultz editado
Faheem Mitha
Estoy acostumbrado a libros para materiales de referencia. Puedo leerlos de principio a fin. Si los manuales y libros son inadecuados para escribir documentación, las computadoras y los idiomas nunca se habrían enseñado o aprendido. En el aprendizaje, la mayoría sigue una progresión de bajo a alto conocimiento con temas más complejos construidos sobre temas más simples. Los libros son casi de lo que todo niño aprende: información presentada secuencialmente. Los enlaces H son para enfocarse en temas de interés aleatorios: si es experto y maestro del tema, usted sabe lo que quiere y los enlaces pueden llevarlo allí rápidamente. Para referencia y aprendizaje, los enlaces no encajan bien.
Astara
7

Desde un punto de vista práctico , infoes el más detallado de los tres niveles de documentación de referencia:

Los tres niveles suelen aumentar en detalle:

--helpcomo una opción de comando común: un breve resumen de uso ,
manlas páginas de manual clásicas, una referencia rápida y
infoun manual más detallado específico de GNU , la documentación oficial completa .

Si una infopágina no está disponible, la página de manual generalmente contiene la documentación completa.

Tenga en cuenta que la página del manual contiene exactamente la misma información que la --helpsalida para muchos comandos de los núcleos de GNU, por ejemplo ls;

Compare ls --helpy man lsvea que la diferencia solo está en el formateo.


El visor de información predeterminado es info.
Hay alternativas más cómodas , como para la terminal pinfo, o para la GUI konqueror:

pinfo ls

konqueror info:ls

Volker Siegel
fuente
Bueno, eres ahorrativo, te lo daré.
mikeserv
@mikeserv No encontré la función de inclusión de respuesta secundaria. ;)
Volker Siegel
hmmm ... muy interesante, excepto que olvidas mencionarlo helpcomo un comando para los comandos bash incorporados, aproposy whatiscomo hombre con opciones para su uso práctico.
Una referencia hipervinculada no es un manual o libro. Una wiki? tal vez, pero los manuales nunca vienen con hipervínculos en el mundo fuera de línea. Vienen con referencias (véase el capítulo 38), pero no es bueno aprender de ellas. Después de haber leído recientemente el libro más reciente de C ++, puedo aceptar que use referencias hacia adelante y hacia atrás si desea obtener más información sobre un tema que se tratará más adelante. Una vez que haya leído el libro, esas referencias pueden ser de gran ayuda para encontrar cosas. ¿Pero para alguien nuevo en un programa complejo? Preferiré un libro sobre un HTML vinculado o una página de información cada vez.
Astara
Me encantan las páginas de información. Son mucho más como tutoriales que las páginas de manual y, por lo tanto, mucho más fáciles para los principiantes. Prueba info sedy info grepcompara con man sedy man grep. Las páginas de manual son mucho más técnicas y carecen de ejemplos la mayoría de las veces. Hay excepciones a lo que acabo de describir, pero es cierto para la mayoría de los comandos, diría.
Fernando Basso
3

1 - tecnología avanzada pero ligera

Las páginas del manual son planas.

info es un arbol

Ambos permanecen basados ​​en texto , por lo que pueden usarse durante el desarrollo del sistema de bajo nivel (a diferencia de http, que requiere una GUI y un navegador completos antes de poder usarlo).

Esto también es útil porque Linux puede ejecutarse en muchas máquinas de bajos recursos, por ejemplo, las cosas que se ejecutan en mi Arduino de Atmel se encuentran en info.

(Historia: infoes similar a Gopher , si recuerdas eso. Era lo que teníamos justo antes de que todos nos mudáramos a los sistemas operativos GUI, y explotó la red mundial. Recuerdo que Gopher funcionó bastante bien para encontrar información, y fue rápido y simple. Era fácilmente expandible, totalmente basado en texto y rápido).


Las páginas de manual no pueden tener hipervínculos operables. (Simplemente no es posible en esta tecnología).

infopuede y tiene muchos enlaces operables de nodo a nodo, o de nodo a hoja, lo que facilita mucho la navegación rápida de manuales grandes.


2: contiene contenido que no se encuentra en las páginas man

Muchos paquetes estándar también tienen un paquete hermano -doc . A menudo, este contenido se encuentra solo dentro info.

Estos paquetes de documentación agregan folletos dentro de la información, con secciones y subsecciones. En la infojerga, estos se llaman nodesy los nodos pueden contener otros nodesen una estructura de árbol.

Hay comandos para trepar alrededor del árbol, aquí hay algunos ejemplos:

  • subir una sección, por ejemplo, de la sección 2.1 a la sección 2
  • siguiente sección (es decir, moverse a lo largo de las puntas de las ramas de una página a otra), por ejemplo, de la Sección 2 a la Sección 2.1 y ( suponiendo que no haya una Sección 2.2 ), adelante a la Sección 3
  • derecha una sección, por ejemplo, de la Sección 2 directamente a la Sección 3, saltando la sección 2.1

Si estás leyendo y te desplazas línea por línea, visitarás todas las secciones de cada folleto.

Comandos importantes

l - volver atrás - Minúscula 'L', como en l ast. Es como el botón de retroceso en su navegador web. - Regrese al último nodo visto en esta ventana (inicialmente solo tenemos una ventana). ¡Guau, también podemos dividir la ventana del documento por la mitad!


d - mi pueblo - Ir a la 'principal d irectorio' nodo. - Esta es la parte superior del árbol INFO. Contiene enlaces a las familias:

t - mi familia - Vaya al nodo t op de este documento. - Generalmente la tabla de contenidos

u - mi padre - Ir u p de una sola planta. por ejemplo, pasar de la Sección 2.1 a la Sección 2.

n - mis hermanos - Vaya al nodo n ext en este nivel. por ejemplo, sección 2 -> sección 3 (no 2.1)

p - mis hermanos - Ir a la p nodo de la mera existencia en este nivel. por ejemplo, sección 3 -> sección 2

] - my children - Vaya al siguiente nodo en el documento, por ejemplo, sección 2 -> sección 2.1

[ - mis hijos - Vaya al nodo anterior en el documento, por ejemplo, sección 2.1 -> sección 2


Tampoco entendí realmente por qué querría usar la información. Anteriormente había incursionado en ello, y al principio lo encontré de la vieja escuela. Pero debido a que necesitaba más información para un proyecto de autoconf , y me sugirieron que aquí era donde estaba esa documentación, recientemente volví a mirar.

Lo primero que tuve que hacer fue descubrir cómo navegar mejor. La ayuda de H me pareció casi inútil. Eso fue hasta que me di cuenta de que podía desplazarme hacia esta ayuda ... pero luego hubo demasiada confusión.

Así que copié esta ayuda y la pegué en un Gnote, y comencé a tratar de entender cómo infofuncionaba.

A medida que aprendí más, reescribí su ayuda para mí. Quería saber cuál era la gama completa de comandos y cómo estaban categorizados.

Noté que muchas de las pulsaciones de teclas estaban duplicadas, con 2 o 3 formas de ejecutar un comando dado. También noté que todo esto se parecía mucho a emacs.

Aquí está mi hoja de trucos de comandos de información :

HELP - info - commands

#####################################################################################################################################################
Short list - 'basic' Info command keys (see below for full list)

        C-g         Cancel the current operation.
        H           Close this help window. (toggle help window)
        q           Quit Info altogether.

        h           Invoke the Info tutorial.


        Move in this node
                Up          Move up one line.
                Down        Move down one line.


                PgUp        Scroll backward one screenful.      - also backspace
                PgDn        Scroll forward  one screenful.      - also     space

                Home        Go to the beginning of this node.
                End         Go to the end       of this node.

                TAB         Skip to the next    hypertext link.

                /           Search forward for a specified string.
                }           Search for next     occurrence.
                {           Search for previous occurrence.

        Move to other nodes
                RET         Follow the          hypertext link under the cursor.

                1...9       Pick the first...ninth item in this node's menu.
                0           Pick the last item in this node's menu.

                l           Last in history.  Go back to the last node seen in this window (initially we only have one window). (?? history)


                d           Go to the main 'directory' node.                    my people
        the Info main menu - "This is the top of the INFO tree."

                t           Go to the top node of this document.                my family       Generally the table of contents

                u           Go up one level.                                    my parent       e.g. go from Section 2.1, to Section 2.

                n           Go to the next     node on this level.              my siblings     e.g. section 2 -> section 3  (not 2.1)
                p           Go to the previous node on this level.

                ]           Go to the next     node in the document.            my children     e.g. section 2 -> section 2.1
                [           Go to the previous node in the document.  (?siblings)


                m <name>    Pick a menu item specified by name.
                f           Follow a cross reference specified by name.
                g           Go to a node specified by name.

                i           Search for a specified string in the index (if there is an index), and select the node referenced by the first entry found.

                I           Synthesize menu of matching index entries. ???




#####################################################################################################################################################
Full list - of commands available in Info windows:

Notes: 
        M-              (meta) is Alt;  (also you can use an Esc prefix instead of meta -hwj)
        M-C-            means hold both Ctrl and Alt down at same time
        *               Basic commands (listed above)



     HELP
*               H                                       (get-help-window)               Toggle display of help message
*               h                                       (get-info-help-node)            Visit Info node '(info)Help' (this gets:  man info )


     CANCEL
*                       C-g     C-x C-g M-C-g           (abort-key)                     Cancel current operation  (?? esc)

*               q       C-c                             (quit)                          Quit using Info
                        C-x C-c                         (quit)                          Quit using Info


     WINDOWS
                        C-l                             (redraw-display)                Redraw the display

                x       C-x 0                           (delete-window)                 Delete the current window
                        C-x 1                           (keep-one-window)               Delete all other   windows (leaving 1)

                        C-x 2                           (split-window)                  Split the current  window  (into 2)
                        C-x t                           (tile-windows)                  Divide the available screen space among the visible windows

                        C-x ^                           (grow-window)                   Grow (or shrink) this window

                        C-x o                           (next-window)                   Select the next window (other)

                        C-x C-b                         (list-visited-nodes)            Make a window containing a menu of all of the currently visited nodes

                        C-x w                           (toggle-wrap)                   Toggle the state of line wrapping in the current window

     VIEW OTHER FILE
                        C-x C-f                         (view-file)                     Read the name of a file and select it
                        C-x C-v                         (view-file)                     Read the name of a file and select it


     SCROLL
                        C-v                             (scroll-forward-page-only)      Scroll forward  in this window staying within node      ('v' looks like a down arrow)
                                M-v                     (scroll-backward-page-only)     Scroll backward in this window staying within node      (meta-v is the reverse, or up arrow)

*       PgDn    SPC                                     (scroll-forward)                Scroll forward  in this window (at end moving to next node??)
*       PgUp    DEL     C-h                             (scroll-backward)               Scroll backward in this window (at end moving to next node??)  (DEL = Backspace or Del)

                                M-C-v   ESC PgDn        (scroll-other-window)           Scroll the other window
                                        ESC PgUp        (scroll-other-window-backward)  Scroll the other window backward


     CURSOR MOVEMENT (within a 'node' / page)
        Right           C-f                             ( forward-char)                 Move forward  a character
        Left            C-b                             (backward-char)                 Move backward a character

                                M-b                     (backward-word)                 Move backward a word
                                M-f                     ( forward-word)                 Move forward  a word

                        C-a                             (beginning-of-line)             Move to the start of the line
                        C-e                             (end-of-line)                   Move to the end   of the line


*       Up              C-p                             (prev-line)                     Move up   to the previous line
*       Down            C-n                             (next-line)                     Move down to the next     line

                                M-r                     (move-to-window-line)           Move the cursor to a specific line of the window

*       Home    b               ESC <                   (beginning-of-node)             Move to the start of this node
*       End     e               ESC >                   (end-of-node)                   Move to the end   of this node


     SEARCHING
                /                                       (search)                        Read a string and search          for it
                s                                       (search)                        Read a string and search          for it
                ?                                       (search-backward)               Read a string and search backward for it

                R                                       (toggle-regexp)                 Toggle the usage of regular expressions in searches

                S                                       (search-case-sensitively)       Read a string and search for it case-sensitively

*               }       C-x n                           (search-next)                   Repeat last search in the same    direction
*               {       C-x N                           (search-previous)               Repeat last search in the reverse direction


                        C-s                             (isearch-forward)               Search interactively for a string as you type it
                        C-r                             (isearch-backward)              Search interactively for a string as you type it


                                M-/                     (tree-search)                   Search this node and subnodes for a string.

                                M-}                     (tree-search-next)              Go to next     match in Info sub-tree
                                M-{                     (tree-search-previous)          Go to previous match in Info sub-tree


     JUMP TO NODE CROSS REFERENCES (underlined links to nodes)
*               TAB                                     (move-to-next-xref)             Move to the next     cross reference
                BackTab         M-TAB                   (move-to-prev-xref)             Move to the previous cross reference  (Shift-tab)


     SELECT A NODE (hyperlink)
*               RET                                     (select-reference-this-line)    Select reference or menu item appearing on this line

*               1 .. 9                                  (menu-digit)                    Select this     menu item (link) # in this node's menu (this page's menu)
*               0                                       (last-menu-item)                Select the last menu item (link)   in this node's menu (this page's menu)

                <                                       (first-node)                    Select the first node in this file
                >                                       (last-node)                     Select the last  node in this file


*               d                                       (dir-node)                      Select the 'dir' node (in all files?)   the Info main menu - "This is the top of the INFO tree."

*               t                                       (top-node)                      Select the 'Top' node in this file      Generally the table of contents
*               u                                       ( up-node)                      Select the 'Up'  node in this file      i.e. go from Section 2.1, to Section 2.


*               n                                       (next-node)                     Select the Next node                    i.e. section 2.1 -> section 2.2
*               p                                       (prev-node)                     Select the Prev node


*               g <name>                                (goto-node)                     Read a node name and select it
*               m <item>                                (menu-item)                     Read a menu item and select its node    ???


                        C-x b                           (select-visited-node)           Select a node which has been previously visited in a visible window (c-x=Window, back)



     MOVE TO ANOTHER NODE (in the tree)
*               [                                       (global-prev-node)              Move backwards or up   through node structure (tree within this file)
*               ]                                       (global-next-node)              Move forwards  or down through node structure (tree within this file)

*               l                                       (history-node)                  last - Select the most recently selected node

     GET NODE INFORMATION
                =                                       (display-file-info)             Show full file name of node being displayed
                O                                       (goto-invocation-node)          Find the node describing program invocation


     READ IN NEW MENUS
                G <menus>                               (menu-sequence)                 Read a list of menus starting from dir and follow them  ???


     INDEX
*               i                                       (index-search)                  Look up a string in the index for this file (Search for a specified string in the index 
                                                                                                (if there is an index), and select the node referenced by the first entry found.

                ,                                       (next-index-match)              Go to the next matching index item from the last 'i' command

*               I                                       (virtual-index)                 List all matches of a string in the index

                        C-x f                           (all-files)                     Show all matching files


     FOOTNOTES
*               f                                       (xref-item)                     Read a footnote or cross reference and select its node
                r                                       (xref-item)                     Read a footnote or cross reference and select its node

                                M-C-f                   (show-footnotes)                Show the footnotes associated with this node in another window

     NUMERIC 
                        C-u                             (universal-argument)            Start (or multiply by 4) the current numeric argument
                                M--                     (add-digit-to-numeric-arg)      Add this digit to the current numeric argument
                                M-0 .. M-9              (add-digit-to-numeric-arg)      Add this digit to the current numeric argument


     MISC
                                M-x                     (execute-command)               Read a command name in the echo area and execute it     ?? pwd and ls don't work


#####################################################################################################################################################
The following text commands can only be invoked via M-x (Alt-x -hwj):

        This is a list of longer commands that can be typed, all prefixed with Alt-x:


        M-x scroll-forward-set-window                   Scroll forward  in this window                          and set default window size
        M-x scroll-backward-set-window                  Scroll backward in this window                          and set default window size

        M-x scroll-forward-page-only-set-window         Scroll forward  in this window  staying within node     and set default window size
        M-x scroll-backward-page-only-set-window        Scroll backward in this window  staying within node     and set default window size

        M-x down-line                                   Scroll down by lines
        M-x   up-line                                   Scroll up   by lines

        M-x scroll-half-screen-down                     Scroll down by half screen size
        M-x scroll-half-screen-up                       Scroll up   by half screen size


        M-x prev-window                                 Select the previous             xwindow

        M-x set-screen-height <number>                  Set the height of the displayed window

        M-x  find-menu                                  Move to the start of this node's menu

        M-x visit-menu                                  Visit as many menu items at once as possible

        M-x man <name of man page>                      Read a manpage reference and select it


        M-x print-node                                  Pipe the contents of this node through INFO_PRINT_COMMAND


        M-x clear-search                                Clear displayed search matches


        M-x describe-key <key combo>                    Print documentation for KEY  (one line of documentation)
        M-x where-is                                    Show what to type to execute a given command
        M-x describe-command                            Read the name of an Info command and describe it


        M-x index-apropos                               Grovel all known info file's indices for a string and build a menu (grep widely, and make a menu of what is found)


        M-x describe-variable                           Explain the use of a     variable
        M-x      set-variable                           Set the value of an Info variable


        M-x info-version                                Display version of Info being run




#####################################################################################################################################################
Commands available in the 'echo' area (i.e. at bottom of screen):

        (M- (meta) = Fn  (not alt) -hwj)


        C-l             (redraw-display)                        Redraw the display

        C-g     Esc     (echo-area-abort)                       Cancel or quit operation
        M-C-g           (echo-area-abort)                       Cancel or quit operation


     MOVE
        C-a     Home    (echo-area-beg-of-line)                 Move to the start of this line
        C-e     End     (echo-area-end-of-line)                 Move to the end   of this line

        C-b     Left    (echo-area-backward)                    Move backward a character
        C-f     Right   (echo-area-forward)                     Move forward  a character

        M-b             (echo-area-backward-word)               Move backward a word
        M-f             (echo-area-forward-word)                Move forward  a word

     COMMAND LINE COMPLETIONS
        M-?     ?       (echo-area-possible-completions)        List possible completions
        M-C-v           (echo-area-scroll-completions-window)   Scroll the completions window
        TAB     SPC     (echo-area-complete)                    Insert completion 
        RET     LFD     (echo-area-newline)                     Accept (or force completion of) this line


     DELETE/YANK
        C-d             (echo-area-delete)                      Delete the character under  the cursor
        C-h     DEL     (echo-area-rubout)                      Delete the character behind the cursor

        M-d             (echo-area-kill-word)                   Kill the word following the cursor
        M-DEL           (echo-area-backward-kill-word)          Kill the word preceding the cursor

        C-k             (echo-area-kill-line)                   Kill to the end       of the line
        C-x DEL         (echo-area-backward-kill-line)          Kill to the beginning of the line

        C-y             (echo-area-yank)                        Yank back the contents of the last kill
        M-y             (echo-area-yank-pop)                    Yank back a previous kill


     INSERT
        C-q             (echo-area-quoted-insert)               Insert next  character verbatim
        M-TAB           (echo-area-tab-insert)                  Insert a TAB character


     TRANSPOSE
        C-t             (echo-area-transpose-chars)             Transpose characters at point (and move ahead by one)

     NUMERIC ARGUMENTS ???
        C-u             (universal-argument)                    Start (or multiply by 4) the current numeric argument
        M--             (add-digit-to-numeric-arg)              Add this digit to the current numeric argument
        M-0 .. M-9      (add-digit-to-numeric-arg)              Add this digit to the current numeric argument

        C-x o           (next-window)                           Select the next window
Vista elíptica
fuente