J'essaie de remplacer un caractère - disons ;
- par une nouvelle ligne utilisant replace-string
et / ou replace-regexp
dans Emacs.
J'ai essayé les commandes suivantes:
M-x
replace-string
RET;
RET\n
Cela remplacera
;
avec 2 caractères:\n
.M-x
replace-regex
RET;
RET\n
Cela se traduit par l'erreur suivante (affichée dans le mini-tampon):
Utilisation non valide de «\» dans le texte de remplacement.
Quel est le problème avec l'utilisation replace-string
de cette tâche? Y a-t-il une autre façon de procéder?
Merci.
quote-insert
qui cite le caractère suivant.C-j
est un0x0a
code de contrôle littéral , contreRet
lequel est la clé à côté de votre devis et envoie0x0d
. en.wikipedia.org/wiki/C0_and_C1_control_codesC-j
dans emacs , tandis queC-m
dans vim .J'ai trouvé quatre façons de mettre une nouvelle ligne dans le mini-tampon.
C-o
C-q C-j
C-q
12
(12 est la valeur octale de la nouvelle ligne)C-x oà la fenêtre principale, tuez une nouvelle ligne avec C-k, puis C-x orevenez au mini-tampon, tirez dessus avecC-y
la source
C-o
! Un coup de touche de moins par rapport àC-q C-j
. Je n'avais pas pensé à utiliser celui-là auparavant.C-o
ne déplace pas le point après avoir inséré la nouvelle ligne dans le mini-tampon, vous devez donc toujours appuyer sur la touche fléchée droite également si vous souhaitez insérer quelque chose après la nouvelle ligne dans la chaîne de remplacement.C-o
entrera une nouvelle ligne dans la fenêtre principale lors de l'utilisation de la recherche, tandis queC-q C-j
entrera la nouvelle ligne dans le mini-tampon.C-o
fonctionne avec la requête - remplacez cependant.N'oubliez pas que vous pouvez toujours couper et coller dans le mini-tampon.
Vous pouvez donc simplement copier un caractère de nouvelle ligne (ou n'importe quelle chaîne) de votre tampon, puis le retirer lorsque vous êtes invité à entrer le texte de remplacement.
la source
Plus explicitement:
Pour remplacer le caractère point-virgule (;) par une nouvelle ligne, procédez comme suit.
Un peu plus que l'explication originale ne le dit.
la source
Passer en mode texte
Mettre le bloc en surbrillance en retrait
Retrait
Revenez à n'importe quel mode ..
la source
en ligne juste:
C-M-S-%
(si les clés de liaison sont toujours par défaut) quereplace-string
^Jla source