Créer une macro sous VI ou Gedit

Fermé
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 15 juil. 2009 à 13:33
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 16 juil. 2009 à 07:14
Bonjour,
je cherche a faire une macro sous VI ou gedit qui me permette quand je sélectionne un texte de l'entourer par:
-début du text :{%trans
-fin du texte : %}

de cette façon:
{%trans "mon texte" %}

J'ai fait ce qui suit dans .vimrc mais cela prends toute la ligne hors je ne souhaite remplacer que du texte :
map <F5> 0i<!--<ESC>$a--><ESC>

Par exemple dans mon fichier si j'ai :
a href="monlien">Mon texte>/a>

je souhaite en appuyant sur la touche F5 que cela fasses :
a href="monlien">{%trans Mon texte %}>/a>

En faites comment dire a VIM d'entourer que le texte sélectionné?
Avez vous une idée?
Merci
A voir également:

2 réponses

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
16 juil. 2009 à 00:57
Si le texte à encadrer est sur la même ligne, sous vim, place ton curseur sur cette ligne et tape :
:s/\(.*\)/{%trans \1%} 

Il y a peut-être moyen de le faire sur la sélection en mode visuel (echap v) si le texte à encadrer est sur plusieurs ligne, mais je n'ai pas trouvé comment.

Bonne chance
0
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
16 juil. 2009 à 07:14
Bonjour et merci mais dans mon cas la solution SED n'est pas ce qu'il faut puisque mon texte est sur plusieurs lignes et dans énormément de fichiers mais bon en me documentant un peu sur VI j'ai crée mes macros bon c'est sur c'est pas encore ça car je dois positionné le curseur au bon endroit car je n'ai pas trouver comment faire en sélectionnant le texte mais c'est déjà bien. Voici cela peux un jour aider quelqu'un:

C'est lignes sont a placer dans le fichier .vimrc en home/nom_utilisateur

 map <F4> i{% load  %}<ESC>
   map <F5> i{% trans "<ESC>
  map <F6> a" %}<ESC>
  map <F7> i{% block %} <ESC>
 map <F8> a {% endblock %}<ESC>

0