zsh prompt/ było: zonk z ncurses

Tomasz Pala gotar at polanet.pl
Thu May 24 11:52:59 CEST 2012


On Thu, May 24, 2012 at 11:35:19 +0200, Daniel Dawid Majewski wrote:

>> http://jakilinux.org/aplikacje/konsola/zsh-automatyzacja-czynnosci/
> Nice tutek, już zmieniłem muszelkę. ;)

:)

> Jedno mnie wkurza - w bash-u miałem możliwość ustawienia w PS1 
> wyświetlania tylko krótkiej nazwy bieżącego katalogu:
> "PS1="[\u@\h \W]\\$ "

13 Prompt Expansion
13.0.3 Shell state
%d
%/
     Present working directory ($PWD).  If an integer follows the `%',
     it specifies a number of trailing components of $PWD to show; zero
     means the whole path.  A negative integer specifies leading
     components, i.e. %-1d specifies the first component.
%~

> Jak to ustawić w zsh, aby skrócić prompt zajmujący czasem więcej niż 3/4 
> wiersza, bo wszystko co wygooglałem, ogranicza się do %d lub %~ ?

Bo w googlu to można poszukać najbliższej knajpy, a nie merytorycznych
informacji;) pinfo zsh daje za to lekturę na dłużej.

W szczególności - można robić dynamiczne prompty i nie ograniczać się
ściśle do N elementów ścieżki, tylko do długości wprost wyrażonej w
znakach. Jakby się postarać, to pewnie i scrollowanie dłuższych by się
wymyśliło;)

> A w ogóle ideałem byłoby, gdyby przytrzymanie np "Ctrl" powodowałoby 
> przy tym chwilowy powrót do długiej nazwy obecnego katalogu, eliminując 
> przy tym konieczność użycia pwd... ;)

Nie sądzę, aby jakikolwiek terminal obsługiwał w ten sposób ctrl, ale
np. można zdefiniować funkcję chpwd, która po zmianie katalogu na zbyt
długi, aby zmieścił się w prompcie, wyświetliła go w całości pod spodem
(oczywiście można też zrobić po prostu wielolinijkowy prompt). Inna
opcja - wstawienie pełnej ścieżki do RPS1 (po prawej stronie), który
samoczynnie zniknie, gdy dojdziesz tam kursorem.

A zamiast `pwd` możesz używać ~+, zawsze to 3 klawisze mniej.

-- 
Tomasz Pala <gotar w pld-linux.org>


More information about the pld-devel-pl mailing list