2012-07-29 29 views
23

En mi Emacs, la clave space puede sangrar correctamente 1 línea. Si selecciono varias líneas y presiono la tecla space, la sangría no funciona.Sangría varias líneas en Emacs

Siguiendo este link, trato C-M-\ o C-M-q, pero C-M elimina directamente todo el bloque seleccionado.

Aquí está mi .emacs, ¿alguien podría ayudar?

+3

no 'sangría de líneas tab'? – phimuemue

Respuesta

14

Si desea que Emacs sancione correctamente varias líneas, entonces el comando es C-META \ también conocido como C-M-\. En otras palabras, no es Control - M, pero Control - Meta - Backslash (control + Alt + \ en la mayoría de los teclados)

+0

En particular, esto emite el comando 'indent-region'. No hace nada sin el parámetro 'column'. Para proporcionar esto, uno debe usar el prefijo de argumento universal 'C-u' seguido del número de columna para sangrar. Por ejemplo, si desea aplicar sangría a la tercera columna, entonces la secuencia de teclas es 'C-u 3 C-M- \'. Para mí, si bien esto sangra la región, también destruye el esquema de sangría actual. Fuerza a cada línea de la región al mismo nivel de sangría. –

61

líneas de selección se multiplican, a continuación, escriba Cu 8 Cx Tab, será una sangría a la región por 8 espacios.

C-u -4 C-x Pestaña les quitará el guión por 4 espacios

+2

Este es el ** único ** que me ha funcionado, y no se puede encontrar [GNU Emacs Sangría varias líneas] (https://www.gnu.org/software/emacs/manual/html_node/emacs/ Multi_002dline-Indent.html). Fantástica contribución – benjaminmgross

+2

¡Y funciona incluso cuando estás en modo Evil! gran victoria súper ultra! –

+0

También es el único que funcionó para mí. desconocido por qué C-M- \ no funciona. – zhihuifan

Cuestiones relacionadas