В bash вы можете убивать слова (Alt-Backspace) или строки (Ctrl-k), а затем возвращать их назад с помощью Cy и циклически уничтожать кольцо с помощью Alt-y.
Теперь, когда я использую zsh, странно, что Alt-y не работает (когда я нажимаю его, ничего не происходит), хотя я настроил его на использование сочетаний клавиш emacs (bindkey -e).
Есть идеи как это исправить?
zsh --version
версия возвращает 4.3.12
bindkey | grep yank
показывает, что yank-pop уже связан с ^ [y (Alt-y).
ОБНОВЛЕНО: результаты отладки
A. Как я могу проверить, что Alt-y не работает?
- Я набираю 'abc'
- Я убиваю это нажатием
Alt-Backspace
- Я набираю 'EFG'
- Я убиваю это снова Alt-Backspace
- Я нажимаю
Ctrl-y
чтобы вернуть его назад - и я получил 'efg' - Я нажимаю
Alt-y
- и я должен был получить «abc», но он остался как «efg» - ничего не произошло.
Б. M-x yank-pop
тоже не работает.
C. Я запускаю zsh -f
и bindkey -e
. Затем я снова пытаюсь отладить процесс - на этот раз он работает!
Так что я думаю, что-то не так с моим .zshrc - я разделю его пополам.
Одна вещь, которую стоит упомянуть: я использую пакет oh-my-ssh
с включенными следующими плагинами: git django extract gem heroku history-substring-search pip rvm
Спасибо Жилю за трюк с zsh -f
- я не осознавал, что проблема была в файлах конфигурации.