[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
En el modo C y afines, ciertos caracteres imprimibles son "eléctricos":
además de insertarse a sí mismos, también resangran la línea actual y
pueden insertar nuevalíneas. Esta funcionalidad es controlada por la
variable c-auto-newline
. Los caracteres "eléctricos" son
{, }, :, #, ;, ,, <,
>, /, *, (, y ).
Los caracteres eléctricos insertan nuevalíneas solamente cuando la
funcionalidad auto-nuevalínea está habilitada (indicada por `/a' en
la línea de modo después del nombre del modo). Esta funcionalidad
es controlada por la variable c-auto-newline
. Ud. puede habilitar
y deshabilitar esta funcionalidad con el comando C-c C-a:
Conmuta la funcionalidad auto-nuevalínea (c-toggle-auto-state
). Con un
argumento prefijo, este comando activa la funcionalidad auto-nuevalínea si
el argumento es positivo, y la desactiva si es negativo.
El carácter dos puntos es eléctrico porque eso es adecuado para un único dos puntos. Pero si quiere insertar un doble dos puntos en C++, el comportamiento eléctrico del dos puntos es inoportuno. Ud. puede insertar un doble dos puntos sin sangrado ni nuevalíneas tecleando C-c ::
Inserta un operador de alcance doble dos puntos en el punto, sin resangrar
la línea ni añadir nuevalíneas (c-scope-operator
).
La tecla # eléctrica resangra la línea si aparece al comienzo
de una directiva de preprocesador. Esto ocurre cuando el valor de
c-electric-pound-behavior
es (alignleft)
. Ud. puede
desactivar esta funcionalidad ajustando c-electric-pound-behavior
en
nil
.
La variable c-hanging-braces-alist
controla la inserción de
nuevalíneas antes y despues de las llaves que se insertan. Es una lista
asociativa con elementos de la siguiente forma: (símbolo-sintáctico
. lista-nl)
. La mayoría de los símbolos sintácticos que aparecen
en c-offsets-alist
también tienen sentido aquí.
La lista lista-nl puede contener uno de los símbolos before
o after
, o ambos; o puede ser nil
. Cuando se inserta una
llave, el contexto sintáctico que ésta define se busca en
c-hanging-braces-alist
; si se encuentra, se usa la lista-nl
para determinar donde se insertan nuevalíneas: antes de la llave, después,
o ambos. Si no se encuentra, la acción por defecto es insertar un nuevalínea
antes y uno después de las llaves.
La variable c-hanging-colons-alist
controla la inserción de
nuevalíneas antes y después de los dos puntos que se inserten. Es una
lista asociativa con elementos de la siguiente forma: (símbolo-sintáctico
. lista-nl)
. La lista list-nl puede contener uno de los
símbolos before
o after
, o ambos; o bien puede ser nil
.
Cuando se insertan dos puntos, el símbolo sintáctico que éstos definen se buscan en dicha lista, y si se encuentra, se utiliza la lista-nl para determinar dónde se insertan nuevalíneas: antes de la llave, después, o ambos. Si no se encuentra el símbolo sintáctico en esta lista, no se insertan nuevalíneas.
Los caracteres eléctricos también pueden borrar los nuevalíneas
automáticamente cuando se habilita la funcionalidad auto-nuevalínea. Esta
funcionalidad hace más aceptable a auto-nuevalínea, borrando los nuevalíneas
en los casos más comunes donde no son deseados. Emacs puede reconocer
varios caso en los cuales puede ser deseable borrar un nuevalínea; ajustando
la variable c-cleanup-list
, ud. puede especificar cuáles de
estos casos deben ocurir. El valor de la variable es una lista de símbolos,
de los cuales cada uno describe un caso posible de borrado de nuevalínea.
Estos son los símbolos significativos, y sus significados:
brace-catch-brace
Ordena construcciones `} catch (condición) {' poniendo la
construcción entera en una sola línea. La reubicación tiene lugar cuando
ud. teclea la `{', si no hay nada entre las llaves además de
catch
y condición.
brace-else-brace
Ordena construcciones `} else {' poniendo la construcción entera
en una sola línea. La reubicación tiene lugar cuando ud. teclea la `{'
después del else
, pero solamente si no hay más que espacio en blanco
entre las llaves y el else
.
brace-elseif-brace
Ordena construcciones `} else if (…) {' poniendo la construcción
entera en una sola línea. La reubicación tiene lugar cuando ud. teclea la
`{', si solamente hay espacio en blanco entre `}' y `{'
aparte de las palabras claves y la condición del if
.
empty-defun-braces
Ordena llaves vacías de defun poniendo las llaves en la misma línea. La reubicación ocurre cuando ud. teclea la llave de cierre.
defun-close-semi
Ordena el punto y coma después de un struct
o declaración de tipos
similar, poniendo el punto y coma en la misma línea que la llave de
cierre. La reubicación ocurre cuando ud. teclea el punto y coma.
list-close-comma
Ordena las comas después de las llaves en inicializadores de arrays y agregados. La reubicación ocurre cuando ud. teclea la coma.
scope-operator
Ordena pares de dos puntos que pueden designar un operador de visibilidad de C++, juntando los dos puntos. La reubicación ocurre cuando ud. teclea los segundos dos puntos, pero únicamente cuando los pares de dos puntos están separados por nada más que espacio en blanco.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Roberto on abril, 2 2007 using texi2html 1.76.