it-swarm-pt.tech

Como substituir um personagem por uma nova linha no Emacs?

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.

255
Lei

M-x replace-string RET ; RETC-q C-j.

  • C-q para quoted-insert,

  • C-j é uma nova linha.

Felicidades!

388
Jonathan Arkell

Há quatro maneiras que encontrei para colocar uma nova linha no minibuffer.

  1. C-o

  2. C-q C-j

  3. C-q 12 (12 é o valor octal da nova linha)

  4. 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

65
slipmthgoose

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.

22
Bloat

Mais explicitamente:

Para substituir o caractere de ponto-e-vírgula (;) por uma nova linha, siga estas etapas exatas.

  1. localize o cursor no canto superior esquerdo do buffer que contém o texto que você deseja alterar
  2. Digite m-x replace-string e aperte "RETURN"
  3. o mini-buffer mostrará algo assim: Substituir string (padrão ^ ->):
  4. Digite o caractere que você deseja substituir. Nesse caso, ; e aperte RETURN
  5. o mini-buffer exibirá algo parecido com isto: string; com:
  6. Agora execute C-q C-j
  7. Todas as instâncias de ponto-e-vírgula serão substituídas por uma nova linha (da localização do cursor até o final do buffer aparecerá agora)

Pouco mais do que a explicação original diz.

8
afc

Mudar para o modo de texto

M-x text-mode

Destaque o bloco para recuar

Recuar

C+M \

Volte para o modo que for.

2
rebelbass