Réponses:
Vous pouvez ajouter un préfixe avec M-x string-rectangle
, qui est lié à C-x r t
. Cela fait partie d'une série de commandes qui opèrent sur des sélections rectangulaires ; celui-ci insère du texte à chaque ligne du rectangle.
Commencez par définir la marque au début de la première ligne, puis déplacez le curseur sur le premier caractère de la dernière ligne à préfixer:
*Hello
There
▮I am some code
Puis utilisez C-x r t
, entrez votre préfixe ( I said
) et appuyez sur RET
. Cela ajoute le texte à chaque ligne du rectangle:
I said Hello
I said There
I said I am some code
Si vous n'alignez pas votre curseur sur la même colonne que votre marque, cela écrasera cette partie du rectangle:
*Hello
There
I am▮ some code
avec la même commande, on obtient:
I said o
I said e
I said some code
M-x string-insert-rectangle
. C'est très similaire, mais string-insert-rectangle
insère au début de chaque ligne de la sélection, alors que string-rectangle
remplace , donc avec cette dernière vous devez être plus précis sur votre sélection si vous ne voulez rien écraser.
Vous pouvez utiliser le mode multiple-cursors , pour placer un curseur sur chaque ligne. Ensuite, le texte que vous tapez sera inséré sur chaque ligne.
Vous commenceriez avec le point au début du morceau de code:
▮Hello
There
I am some code
Puis frappez C->deux fois. (Ceci est la liaison de clé suggérée; vous devez la configurer vous-même.) Cela crée deux curseurs supplémentaires sur les deux lignes suivantes:
▮Hello
▮There
▮I am some code
Puis tapez I said
. Le texte sera ajouté sur chaque ligne:
I said ▮Hello
I said ▮There
I said ▮I am some code
Enfin, appuyez sur RETpour quitter le mode de curseurs multiples et laisser le point sur le dernier curseur:
I said Hello
I said There
I said ▮I am some code
Voici une vidéo qui montre comment cela fonctionne.
Une autre option consiste à utiliser des macros, qui peuvent traiter plus de tâches que les sélections rectangulaires ou les curseurs multiples, même si c'est un peu plus encombrant dans ce cas particulier.
Placez le curseur au début de la première ligne et appuyez F3pour démarrer l'enregistrement, insérez le texte, déplacez le curseur au début de la ligne suivante et appuyez F4pour arrêter l'enregistrement. Appuyez de F4nouveau sur pour répéter la macro, la C-2 F4répéter deux fois ou C-0 F4jusqu'à ce qu'une erreur se produise (telle qu'une épuisement des lignes).
Vous pouvez installer evil et le faire de nombreuses manières similaires à vi - je préfère la sélection visuelle de blocs en utilisant Ctrl+ Vpour marquer chaque ligne, puis Shift+ Ipour insérer, puis tapez le texte que vous souhaitez insérer et, enfin, appuyez sur ESCpour quitter le mode insertion et le menu contextuel. le texte sera ajouté à chaque ligne. Ceci est très similaire aux sélections de rectangle emacs mais quelques touches de moins.
Si vous avez cua-mode
activé, alors:
I said
comme texte à insérerJe préfère la cua-mode
façon de travailler par rapport au rectangle standard Emacs où l'équivalent serait:
I said
RET insérer du texteLes cua-mode
arrêts deux touches par rapport à la norme rectangle Emacs.
Mais pour moi, l’avantage supplémentaire du mode cua est que je peux ajouter du texte au rectangle (personnellement, je ne sais pas comment ajouter du texte avec un rectangle Emacs standard). En mode Cua, il RETsuffit d'appuyer sur une touche, saisie avant le I said
.