Come rimuovere tutte le newline dalla regione selezionata in Emacs?Come rimuovere tutte le newline dalla regione selezionata in Emacs?
risposta
M-x replace-string C-q C-j RET RET
Il trucco è quello di citare il C-j, ma a capo altrimenti sostituzione è come sostituire qualsiasi altra cosa.
Con le mie combinazioni di tasti, che a mio avviso sono standard, sulle finestre:
Seleziona regione
shift-alt-%
ctrl-Q Ctrl-J
ritorno
ritorno
!
O per dirla in altro modo, query sostituisci regione, ctrl-q per ottenere caratteri estesi, ctrl-j per inserire una nuova riga, sostituisci con nulla, tutti loro.
Se si desidera creare una funzione per fare questo (e associarlo al F8) si potrebbe provare:
(defun remove-newlines-in-region()
"Removes all newlines in the region."
(interactive)
(save-restriction
(narrow-to-region (point) (mark))
(goto-char (point-min))
(while (search-forward "\n" nil t) (replace-match "" nil t))))
(global-set-key [f8] 'remove-newlines-in-region)
che si basa su un esempio io che ho found here.
Si potrebbe anche considerare il vecchio standby delete-blank-lines
, in genere legato a C-x C-o.
Non funzionerà, tranne nell'improbabile caso in cui tutte le nuove righe siano righe vuote. –
Se si lavora con il testo, è probabilmente più pratico sostituire con uno spazio. – lex82
Che dire di "unfill-region", lo farebbe? – incandescentman
è unfill-region fornito in emacs o devi aggiungerlo in te stesso? – bph