[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Prompt zsh



salut,

> Je recherche une façon de modifier la partie : %~ de mon PROMPT zsh
> pour réduire sa longueur quand il prend trop de place dans la ligne de
> commande.
> 
> echo '%~' ne fonctionne pas.

tu peux déclencher l'expansion de % de deux façons:

* soit avec le flag -P de print (man zshbuiltins) que tu peux coupler
  avec -v pour écrire dans une variable:

    print -P 'direct: %~'        # direct: ~
    print -v PS1 'via PS1: %~'
    print $PS1                   # via PS1: %~

* soit avec l'expansion modifier % (man zshexpn) que tu peux coupler
  avec (l::) ou (r::) qui te permette de

  cd /tmp
  print ${(r:3:%):-%~ >}  # /tm

  cd /tmp
  print "${(r:20::_:%):-%~}>" # /tmp ______________>

> J’ai trouvé mon bonheur ici pour n’afficher que les 30 derniers
> caractères d'une chaîne:
> http://mywiki.wooledge.org/BashFAQ/073

Hors des syntaxes historiques/standard, bash et zsh ont des syntaxes
très différentes. Ayant tourné le dos à bash il y a presque 20 ans,
je ne pourrait pas comparer objectivement mais à l'époque, il n'y avait
pas de discution possible sur la supériorité de zsh à mes yeux

cordialement,
marc


Reply to: