LINUX.ORG.RU

zsh — навигация по истории директорий кнопками «назад» / «вперёд»

 


0

1

Хочу забиндить на клавиши переход по истории, как в браузере.

Допустим есть история директорий:

0 /alpha
1 /beta
2 /tmp
3 ~

Я нажимаю Alt+← и попадаю в /alpha.
Alt+← = /beta.
Alt+← = /tmp
Alt+← = ~
Alt+← = ~
Alt+→ = /tmp
Alt+→ = /beta

Нашёл как в zsh забиндить клавиши на команды, но вот с самой историей папок непонятно:

setopt auto_pushd pushd_ignore_dups pushd_minus

И cd -1/cd +1 работают не так как я ожидал. Видимо потому, что история после каждого перехода перезаписывается.

А я не хочу чтобы она перезаписывалась, если я перехожу в папку, которая уже есть в истории.

Я вижу решение написать скрипт и повесить его на cd. Если папка уже есть в истории, то не добавлять её в $dir_history. Можно как-то проще сделать? Укротить тот же, pushd, например.

Может быть я изобретаю колесо, может быть есть уже что-то готовое? Всё это в рамках развлечения, но тратить слишком много времени не хочется.

может быть есть уже что-то готовое?

man zshcontrib
/cdr

папку

Мамку не забудьте, лол :)

Homura_Akemi
()
Последнее исправление: Homura_Akemi (всего исправлений: 1)

свой виджет для zle и забиндить на нужную комбинацию. историю сохранять через хук postcommand()

ananas ★★★★★
()

И cd -1/cd +1

Там что, нет pushd?

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.