Forum général.général Comment grouper des actions dans vim ?

Posté par  .
Étiquettes : aucune
1
3
août
2009
Salut, j'utilise beaucoup la touche répeter (.) dans vim.

Par exemple, pour une commande telle que 5dw.

Mais si je veut sauter 5 lignes et supprimer la ligne (5ydd), je n'arrive pas à grouper la commande. La répétition se fait sur le saut de lignes, ou sur la supression de la ligne.

Bref, existe t'il une astuce pour ne pas avoir ce problème ?
  • # Macros peut-être

    Posté par  (site web personnel) . Évalué à 3.

    Pour enregistrer une macro "dans la touche a" on tape "qa " le mot enregistrement apparait en bas puis on tape les commandes qu'on veut enregistrer.

    Une fois que c'est fini on retape sur "q" pour stopper l'enregistrement.

    Pour rejouer la macro c'est "@a".
    Pour rejouer la dernière macro jouée c'est "@@"
    • [^] # Re: Macros peut-être

      Posté par  . Évalué à 1.

      Oui, dans le cas cité en exemple, ça donnerait :
      [ECHAP]qa5jddq
      et pour l'appeler :
      @a
      • [^] # Re: Macros peut-être

        Posté par  . Évalué à 1.

        Hum, ça ne fonctionne pas.

        Si je tappe @a, cela m'écrit:
        :'<,'>! par 72ja
        avant de lancer la commande par dans un shell…

        Si je tappe :@a, les commandes sont inconnues.

        Envoyé depuis mon lapin.

  • # voir le chapitre sur les macros

    Posté par  (site web personnel) . Évalué à 2.

  • # map

    Posté par  . Évalué à 2.

    Tu peux associer une touche du clavier à un série de commandes (en choisissant de préférence une touche non utilisée par défaut):

    :map z 5ydd
    • [^] # Re: map

      Posté par  . Évalué à 2.

      C'est ce que j'avais fait en attendant de trouver mieux.

      Envoyé depuis mon lapin.

    • [^] # Re: map

      Posté par  (site web personnel) . Évalué à 1.

      mapper z ??
      T'es-t-y taré ou bien ??

      Je peux pas vivre sans centrer l'écran (zz) ni sans les folds (zC, za, zo…)
      • [^] # Re: map

        Posté par  . Évalué à 1.

        z n'est qu'un exemple; de plus, tu n'es pas obligé de conserver le mapping:
        :map z 5ydd
        ... tu utilises z pour exécuter les commandes...
        :unmap z
        ... zC, za, zo fonctionnent à nouveau.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.