Je suis à la recherche d'un éditeur de texte GUI qui est capable de faire une recherche à motifs multiples et de remplacer tout à la fois. Si la source est un fichier texte, cela peut être fait en mode ligne de commande avec sed
, mais le texte provient du presse-papiers (pas d'autre moyen possible).
Je dois: coller le texte du presse-papiers (5 à 50 mots au maximum) dans l'éditeur de texte, appuyer sur le bouton "remplacer" avec un ensemble de 10 modèles de remplacement prédéfinis et copier le résultat dans le presse-papiers. Cette séquence se fera environ 3000 fois ...
software-recommendation
text-editor
demandez toujours
la source
la source
Réponses:
... pourquoi ne pas utiliser un script? Cocher
xclip
(sudo apt-get install xclip
)enverra le presse-papiers à la sortie standard, et avec
-i
vous pouvez remplacer le presse-papiers. Doncappliquera la modification à la sélection, et vous pouvez maintenant la coller.
Si vous voulez une chose graphique, vous pouvez intégrer le script avec yad :
Cela vous montrera une boîte de dialogue comme celle-ci:
Notez que le script va à la fois modifier le tampon du presse-papiers (coller) et l'imprimer. Pour intégrer cela dans un éditeur, par exemple
vim
, vous pouvez procéder comme suit:Ajoutez à votre
.vimrc
:exécutez par exemple gvim.
Maintenant, vous copiez le texte, allez dans l'éditeur, appuyez sur F4. Choisissez la modification que vous souhaitez appliquer.
Le texte apparaîtra dans l'éditeur. Si ça va comme ça, vous pouvez le coller. Autrement
Modifiez le texte et copiez-le à nouveau. (Dans
gvim
, vous pouvez sélectionner le texte avec la souris et simplement choisir coller --- ou apprendre lesvim
commandes, peu importe).Il pourrait être optimisé à coup sûr (vous pouvez probablement facilement définir une autre clé pour sélectionner et coller le texte modifié afin que vous ayez encore moins de touches à utiliser)
la source
Vous pouvez faire tout cela sur la ligne de commande en utilisant toujours quelque chose comme
xsel
ouxclip
pour récupérer le presse-papiers en cours, puis y replacer le résultat. Voici un petit exemple qui montre commentsed
être utilisé pour effectuer plusieurs remplacements.Retour
123
la source
Je vous présente l'éditeur Vim! (ou Gvim pour l'implémentation graphique)
Avec cet éditeur de texte, vous pouvez à peu près tout faire. Il est basé sur des raccourcis clavier comme
i
pour saisir du texte etdd
pour supprimer des lignes de texte,dw
pour supprimer des mots,d2w
pour supprimer deux mots.Dans votre cas: pour coller votre texte depuis le presse-papiers, utilisez
"*p
Et pour remplacer le texte,
:s/foo/bar/g
remplacez foo par bar ici.la source
|
, par exemple::%s/foo/bar/g | %s/brown/fox/g | %s/lorum/ipsun/g
. Ou placez les commandes une ligne à la fois dans un fichier et utilisez-les:source commandfile.vim
pour exécuter les commandes. Ou créez une macro ...