Estoy tratando de reemplazar un personaje, digamos ;
, con una nueva línea usando replace-string
y / o replace-regexp
en Emacs.
He intentado los siguientes comandos:
M-x
replace-string
RET;
RET\n
Esto reemplazará
;
con 2 caracteres:\n
.M-x
replace-regex
RET;
RET\n
Esto da como resultado el siguiente error (que se muestra en el minibúfer):
Uso no válido de `\ 'en el texto de reemplazo.
¿Qué hay de malo en usar replace-string
para esta tarea? ¿Hay alguna otra forma de hacerlo?
Gracias.
quote-insert
que cita al siguiente personaje.C-j
es un0x0a
código de control literal , frente alRet
cual es la clave junto a su cotización y envíos0x0d
. en.wikipedia.org/wiki/C0_and_C1_control_codesC-j
en emacs , mientras queC-m
en vim .Hay cuatro formas en que he encontrado para poner una nueva línea en el minibúfer.
C-o
C-q C-j
C-q
12
(12 es el valor octal de nueva línea)C-x oa la ventana principal, elimine una nueva línea con C-k, luego C-x oregrese al minibúfer, tírelo conC-y
fuente
C-o
! Un golpe de tecla menos en comparación conC-q C-j
. No había pensado en usar eso antes.C-o
no mueve el punto después de insertar la nueva línea en el minibúfer, por lo que también debe presionar la tecla de flecha derecha si desea insertar algo después de la nueva línea en la cadena de reemplazo.C-o
ingresaré una nueva línea en la ventana principal cuando utilizo la búsqueda, mientrasC-q C-j
que ingresaré la nueva línea en el minibúfer.C-o
funciona con consulta - sin embargo, reemplace.No olvides que siempre puedes cortar y pegar en el minibúfer.
Por lo tanto, puede copiar un carácter de nueva línea (o cualquier cadena) de su búfer y luego tirarlo cuando se le solicite el texto de reemplazo.
fuente
Más explícitamente:
Para reemplazar el carácter de punto y coma (;) con una nueva línea, siga estos pasos exactos.
Un poco más de lo que dice la explicación original.
fuente
Cambiar al modo de texto
Resaltar bloque para sangrar
Sangrar
Regrese a cualquier modo.
fuente
solo en línea:
C-M-S-%
(si las teclas de enlace siguen siendo predeterminadas)replace-string
^Jfuente