.. _5: 5 Teclas y Comandos =================== Este manual está lleno de pasajes que le dicen lo que hacen determinadas teclas. Pero Emacs no asigna significados a las teclas directamente. En su lugar, asigna significados a *comandos* con nombre, y luego da a las teclas sus significados *vinculándolas* a comandos. Cada comando tiene un nombre elegido por el programador. El nombre suele estar formado por unas pocas palabras en inglés separadas por guiones; por ejemplo, ``next-line`` (siguiente-línea) o ``forward-word`` (palabra-anterior). Internamente, cada comando es un tipo especial de *función* Lisp, y las acciones asociadas al comando se realizan ejecutando la función. **Vea Qué es una Función** en el Manual de Referencia de Emacs Lisp. Los enlaces entre teclas y comandos se registran en tablas llamadas *mapas de teclas*. Ver :ref:`50.3.1`. Cuando decimos que "``C-n`` se mueve verticalmente una línea hacia abajo" estamos pasando por alto una sutil distinción que es irrelevante en el uso ordinario, pero vital para la personalización de Emacs. El comando ``next-line`` hace un movimiento vertical hacia abajo. ``C-n`` tiene este efecto porque está ligado a ``next-line``. Si redefine la vinculación ``C-n`` al comando ``forward-word``, ``C-n`` se moverá una palabra hacia delante. En este manual, hablaremos a menudo de teclas como :kbd:`Ctrl`-:kbd:`n` (``C-n``) como comandos, aunque estrictamente hablando la tecla o combinación de ellas esté asociada a un comando. Normalmente, indicamos el nombre del comando que realmente hace el trabajo entre paréntesis después de mencionar la tecla que lo ejecuta. Por ejemplo, diremos que "El ncomando ``C-n`` (``next-line``, línea siguiente) mueve el punto verticalmente hacia abajo", lo que significa que el comando ``next-line`` se mueve verticalmente hacia abajo, y la tecla :kbd:`Ctrl`-:kbd:`n` (``C-n``) normalmente está vinculada a él. Ya que estamos hablando de personalización, deberíamos hablarle de *variables*. A menudo la descripción de un comando dirá: "Para cambiar esto, establezca la variable ``mumble-foo``. Una variable es un nombre usado para almacenar un valor. La mayoría de las variables documentadas en este manual están pensadas para la personalización: algún comando u otra parte de Emacs examina la variable y se comporta de forma diferente según el valor que establezca. Puede ignorar la información sobre variables hasta que esté interesado en personalizarlas. Entonces lea la información básica sobre variables (vea :ref:`50.2`) y la información sobre variables específicas tendrá sentido.