[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

E.10 Argumentos numéricos

En el uso matemático e informático, argumento significa "dato provisto a una función u operación". Puede darle un argumento numérico (también llamado argumento prefijo) a cualquier comando de Emacs. Algunos comandos interpretan el argumento como número de repeticiones. Por ejemplo, C-f con un argumento de diez avanza diez caracteres en vez de uno. Para dichos comandos, la ausencia de argumento equivale a un argumento de uno. Los argumentos negativos indican a la mayoría de dichos comandos que se muevan u operen en dirección opuesta.

Si el teclado de su terminal tiene una tecla META, la manera más fácil de especificar un argumento numérico es teclear dígitos o el signo menos manteniendo pulsada la tecla META. Por ejemplo,

 
M-5 C-n

bajaría cinco líneas. Los caracteres Meta-1, Meta-2, etcétera, así como Meta--, hacen eso porque están mapeados a comandos (digit-argument y negative-argument) que están definidos para formar un argumento para el siguiente comando. Normalmente, Meta-- sin dígitos significa -1. Los dígitos y - modificados con Control, o Control y Meta, también especifican argumentos numéricos.

Otra forma de especificar un argumento es utilizar el comando C-u (universal-argument) seguido de los dígitos del argumento. Con C-u, ud. puede teclear los dígitos del argumento sin mantener presionada ninguna tecla modificadora; C-u funciona en todas las terminales. Para teclear un argumento negativo, digite un signo menos después de C-u. Un signo menos solo sin dígitos normalmente significa -1.

C-u seguido por un carácter que no sea un dígito o un signo menos tiene el significado especial de "multiplicar por cuatro". Multiplica el argumento del siguiente comando por cuatro. C-u dos veces lo multiplica por dieciséis. Por consiguiente, C-u C-u C-f avanza dieciséis caracteres. Esta es una buena manera de avanzar "rápido", ya que avanza alrededor de 1/5 de línea en el tamaño de pantalla común. Otras combinaciones útiles son C-u C-n, C-u C-u C-n (bajar una buena parte de la pantalla), C-u C-u C-o (crear "un montón" de líneas en blanco), y C-u C-k (matar cuatro líneas).

Algunos comandos sólo se preocupan por si hay un argumento o no, y no del valor. Por ejemplo, el comando M-q (fill-paragraph) sin argumento rellena texto; con argumento, además justifica el texto. (@xref{Rellenar}, para más información acerca de M-q.) El simple C-u es una forma práctica de pasar un argumento a dichos comandos.

Algunos comandos usan el valor del argumento como número de repeticiones, pero hacen algo especial cuando no hay argumento. Por ejemplo, el comando C-k (kill-line) con un argumento n mata n líneas, incluyendo los nuevalíneas del final. Pero C-k sin argumento es especial: mata el texto hasta el próximo nuevalínea, o, si el punto está justo al final de la línea, mata el nuevalínea. Por consiguiente, dos comandos C-k sin argumentos pueden matar una línea no vacía, igual que C-k con un argumento de uno. (See section Borrado y matado, para mayor información sobre C-k.)

Unos pocos comandos toman un C-u solo de manera distinta que a un argumento ordinario. Otros pocos pueden tomar un argumento de un signo menos solo como distinto de un argumento de -1. Estos casos inusuales son descritos cuando aparecen; siempre se deben a motivos de comodidad de uso del comando en particular.

Puede usar un argumento numérico para insertar varias copias del mismo carácter. Esto es sencillo a menos que el carácter fuera un dígito; por ejemplo, C-u 6 4 a inserta 64 copias del carácter `a'. Pero esto no funciona para insertar dígitos; C-u 6 4 1 especifica un argumento de 641, en vez de insertar algo. Para separar el dígito por insertar del argumento, digite otro C-u; por ejemplo, C-u 6 4 C-u 1 sí inserta 64 copias del carácter `1'.

Usamos el término "argumento prefijo" así como "argumento numérico" para enfatizar que ud. teclea el argumento antes del comando, y para distinguir estos argumentos de los argumentos de minibúfer que vienen después del comando.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Roberto on enero, 3 2007 using texi2html 1.76.