Forum Programmation.shell bash: effacer un mot à gauche

Posté par  (site web personnel) .
Étiquettes : aucune
0
9
fév.
2006
hello

Je sais que la séquence ctrl w efface tout à gauche du curseur

je me suis aperçu que cette séquence "bloque" sur le caractère @

j'aimerai qu'il bloque sur le / ( voire tout autre caractère )

ex:
tail /var/log/message ^W

je souhaite que ctrl+w n'efface que 'message' et pas toute la ligne jusqu'à 'tail'

une idée ?
  • # puis

    Posté par  . Évalué à 3.

    D'après info bash: M-BACKSPACE efface jusqu'au début du mot tandis que C-w efface jusqu'au caractère espace précédent.

    Si tu n'as pas de touche META (ALT gauche en général) alors tu peux faire la même chose avec ESC puis BACKSPACE.
    • [^] # Re: puis

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

      c'est impeccable

      par contre ( je sais je chicane) je suis sous zsh, et esc+backspace se comporte pareil que ^W avec ce shell

      merci
      • [^] # Re: puis

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

        c'est apparemment une ouille dans ma config zsh

        ( avec un zshrc autre que le mien, ça marche comme sous bash )

        /me back investigating
        • [^] # Résolu

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

          Bon ben j'ai trouvé

          avec zsh, pour que ^w s'arrète au / précédent ( au lieu d'effacer toute la ligne ), il faut mettre la variable WORDCHARS à null:

          export WORDCHARS=''

Suivre le flux des commentaires

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