3

В 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 не работает?

  1. Я набираю 'abc'
  2. Я убиваю это нажатием Alt-Backspace
  3. Я набираю 'EFG'
  4. Я убиваю это снова Alt-Backspace
  5. Я нажимаю Ctrl-y чтобы вернуть его назад - и я получил 'efg'
  6. Я нажимаю 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 - я не осознавал, что проблема была в файлах конфигурации.

1 ответ1

0

После деления пополам моего .zshrc я обнаружил, что проблема была в плагинах oh-my-ssh , а именно в плагине history-substring-search .

Так что я отключил его, и ALT+Y работает хорошо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .