Список команд zsh bindkey

Где я могу найти список zsh команд, которые я могу использовать с bindkey, с описаниями?

Каждый раз, когда я ищу имя какого-либо стандартного действия (например, end-of-line), мне нужно гуглить и угадывать, что найденная команда - это то, что я ищу.

Похожие:


person Jakub M.    schedule 04.08.2013    source источник


Ответы (6)


Команды, доступные для использования в редакторе строк, называются виджетами. Стандартные виджеты перечислены на zshzle странице руководства в разделе STANDARD WIDGETS. Эта страница руководства также доступна на веб-сайте zsh

person qqx    schedule 04.08.2013

  • bindkey -l предоставит вам список существующих имен раскладки клавиатуры.

  • bindkey -M <keymap> перечислит все привязки в данной раскладке.

  • Если вы используете командную строку zsh в режиме emacs, то раскладка emacs, вероятно, будет для вас наиболее важной.

  • Если вы используете его в режиме vi, вам будут интересны viins и vicmd.

(Для получения дополнительной информации см. zshzle(1) страницу руководства.)

Когда у вас есть список привязок клавиш, вы можете выполнить поиск в официальном Документация ZLE для названия действия (или «виджет» на языке zsh).

person wjv    schedule 15.08.2016
comment
Кроме того, выполнение bindkey без аргументов распечатает все привязки клавиш. - person Keith Hughitt; 16.09.2019
comment
@KeithHughitt Это правда, но только для текущей раскладки клавиатуры. Что может быть, а может и не быть тем, что вы хотите. - person wjv; 18.09.2019
comment
Ах, хороший улов - я думал, он все печатает. Спасибо за разъяснения! - person Keith Hughitt; 18.09.2019
comment
На самом деле мой предыдущий комментарий тоже был не совсем точным! Использование bindkey без аргументов покажет содержимое main раскладки клавиатуры. main - это псевдоним для emacs или viins, в зависимости от того, настроено ли редактирование строки в стиле emacs или vi. Содержимое vicmd можно увидеть только с помощью флага -M. - person wjv; 19.09.2019

zle -al

перечисляет все зарегистрированные команды zle

person Dave Lee    schedule 06.06.2017
comment
Спасибо, это то, что я ищу. - person Kutsan Kaplan; 18.09.2017
comment
Это более точный ответ на исходный вопрос, чем мой ответ выше. Проголосуйте! Также можно упомянуть, что список стандартных виджетов доступен в руководстве Zsh по адресу: zsh.sourceforge.net/Doc/Release/ - person wjv; 18.09.2019

  1. Документ редактора Zsh Line: https://web.cs.elte.hu/local/texinfo/zsh/zsh_10.html
  2. Найдите текущую настройку bindkey системы: $ bindkey, например ($ bindkey|grep case, ищем нижний регистр);
  3. $ zle -al используется для вывода списка всех зарегистрированных команд zle;
  4. Свяжите свой личный ключ для команды zsh, $ vim ~/.zshrc, добавьте
# bindkey
bindkey "^U"    backward-kill-line
bindkey "^u"    backward-kill-line
bindkey "^[l"   down-case-word
bindkey "^[L"   down-case-word

# alt+<- | alt+->
bindkey "^[f" forward-word
bindkey "^[b" backward-word

# ctrl+<- | ctrl+->
bindkey "^[[1;5D" backward-word
bindkey "^[[1;5C" forward-word
  1. См. Другие сведения: oh-my-zsh ошибка в нижнем регистре: https://github.com/robbyrussell/oh-my-zsh/commit/55a9d685fd960390a4f400ac461d901049a78beb
person lupguo    schedule 19.03.2019
comment
Официальная документация для Zsh Line Editor: zsh.sourceforge.net/Doc/ Релиз / Zsh-Line-Editor.html; ссылка, на которую вы ссылаетесь, является копией, которую ведет какой-то университет в Венгрии. - person Franklin Yu; 25.11.2020

После установки oh-my-zsh я набрал bindkey 'anything', затем нажал табуляцию и сказал yes. Список доступных ключей привязки будет удален.

person transang    schedule 29.04.2017

Я на zsh через шпатлевку. У меня привязки были другие. Вы можете узнать это с помощью CTRL+V, за которым следует, например, стрелка влево. Он отобразит используемую последовательность символов. Так что для меня это было:

bindkey "^[[D" backward-word
bindkey "^[[C" forward-word
bindkey "^H" backward-kill-word
person Goosebumps    schedule 28.04.2020