Estou tentando substituir um caractere - digamos ;
- por uma nova linha usando replace-string
e/ou replace-regexp
no Emacs.
Eu tentei os seguintes comandos:
M-x replace-string
RET ;
RET \n
Isso substituirá ;
por 2 caracteres: \n
.
M-x replace-regex
RET ;
RET \n
Isso resulta no seguinte erro (mostrado no minibuffer):
Uso inválido de `\ 'no texto de substituição.
O que há de errado em usar replace-string
para esta tarefa? Existe alguma outra maneira de fazer isso?
Obrigado.
M-x replace-string
RET ;
RETC-q C-j.
C-q para quoted-insert
,
C-j é uma nova linha.
Felicidades!
Há quatro maneiras que encontrei para colocar uma nova linha no minibuffer.
C-o
C-q C-j
C-q 12
(12 é o valor octal da nova linha)
C-x o para a janela principal, mate uma nova linha com C-k, então C-x o de volta ao minibuffer, puxa-o com C-y
Não esqueça que você sempre pode cortar e colar no minibuffer.
Assim, você pode simplesmente copiar um caractere de nova linha (ou qualquer cadeia de caracteres) do seu buffer e, em seguida, puxá-lo quando solicitado pelo texto de substituição.
Mais explicitamente:
Para substituir o caractere de ponto-e-vírgula (;) por uma nova linha, siga estas etapas exatas.
Pouco mais do que a explicação original diz.
Mudar para o modo de texto
M-x text-mode
Destaque o bloco para recuar
Recuar
C+M \
Volte para o modo que for.