zsh — навигация по истории директорий кнопками «назад» / «вперёд»
Хочу забиндить на клавиши переход по истории, как в браузере.
Допустим есть история директорий:
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, например.
Может быть я изобретаю колесо, может быть есть уже что-то готовое? Всё это в рамках развлечения, но тратить слишком много времени не хочется.