історія-пошук-назад працює по-різному в zsh, ніж в bash


10

Я history-search-backwardвідобразив як PageUp.

Коли я набираю:

git push <PageUp><PageUp><PageUp>
  1. у Bash він починає переглядати всі записи історії, починаючи з git push
  2. в Zsh він починає цикл через все записи історії , починаючи з мерзотником , так що буде список записів , наприклад git status, і git remote updateт.д. Це не те , що я хочу.

Як я можу зш поводитись як баш? Що setoptмені встановити?

Відповіді:


13
bindkey "^[[5~" history-beginning-search-backward

bindkey "^[[6~" history-beginning-search-forward

Це те, що я використовую


Якщо ви хочете, щоб той самий функціонал, але зі стрілками вгору та вниз, замініть прив'язуючий ключ "^[[5~"на "^[[A"та "^[[6~"до"^[[B"
Автоматично

1
Історія початку пошуку zsh все ще має незначну різницю від пошуку історії bash (readline). Команда readline еквівалентна історії назад / вперед (і поставити курсор в кінці рядка), перш ніж пересувати курсор у рядку (що зробить це перетворенням у "історію-початок пошуку"), тоді як zsh завжди ставлять курсор на початку рядка. Чи є простий спосіб змінити таку поведінку, не написавши новий віджет? THX
yuyichao

@yuyichao, ти, можливо, знайшов, як змусити zshсебе вести себе bash?
Блаз

@courteous Не дуже, Хоча я звикаю до поведінки zsh після того, як користуюсь її деякий час ... Тим більше, що простий <C-e>може перетворити zshповедінку на bashповедінку, але не так просто навпаки.
yuyichao
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.