ESC + {: Что это и где я могу узнать больше об этом?

32

Я поэкспериментировал в командной строке bash и нажал ESC, а затем {, после чего оболочка показала все файлы для завершения в строке fileglob. Например: если бы я набрал, bash Cа затем ESC+{, командная строка показала бы следующее: bash CHECK{,1,2{,23{336{,66666},6},3{,6}}}автозаполнение всех возможных файлов и каталогов, начиная с C, с указанием всех экспериментальных файлов и каталогов, которые я сделал.

Что ESC + {и где я могу узнать больше об этом?

Я вижу это на CENTOS и Mac OSX с bash.

Prem
источник

Ответы:

49

Чтобы узнать о привязке ключа.

В bash:

$ bind -p | grep -a '{'
"\e{": complete-into-braces
"{": self-insert

$ LESS='+/complete-into-braces' man  bash
   complete-into-braces (M-{)
          Perform filename completion and insert the list of possible com
          pletions  enclosed within braces so the list is available to the
          shell (see Brace Expansion above).

Или с info:

info bash --index-search=complete-into-braces

(или info bashи используйте индекс с завершением ( iключ))

Однако обратите внимание, что на предварительно созданной информационной странице, которая поставляется с источниками bash-4.3, по крайней мере, отсутствуют некоторые элементы указателя, в том числе и для complete-into-braces, поэтому, если ваша ОС не перестраивает информационную страницу из источников texinfo, вышеуказанная команда не будет работать.

В zsh

$ bindkey| grep W
"^W" backward-kill-word
"^[W" copy-region-as-kill
$ info --index-search=copy-region-as-kill zsh
copy-region-as-kill (ESC-W ESC-w) (unbound) (unbound)
 Copy the area from the cursor to the mark to the kill buffer.

 If called from a ZLE widget function in the form 'zle
 copy-region-as-kill STRING' then STRING will be taken as the text
 to copy to the kill buffer.  The cursor, the mark and the text on
 the command line are not used in this case.

Или с manпредположением, что lessпейджер, как для bash:

LESS='+/copy-region-as-kill' man zshall

zshтакже есть describe-key-brieflyключ, который вы можете привязать к клавише или последовательности клавиш, как Ctrl+XCtrl+Hпоказано ниже:

bindkey '^X^H' describe-key-briefly

Затем вы вводите, Ctrl+XCtrl+Hа затем клавишу или комбинацию клавиш для описания. Например, если набрать Ctrl+XCtrl+Hдважды, появится под приглашением:

"^X^H" is describe-key-briefly

В tcsh

Это в основном так же, как zshза исключением того, что tcshне имеет информационной страницы.

> bindkey | grep -a P
"^P"           ->  up-history
"^[P"          -> history-search-backward
> env LESS=+/history-search-backward man tcsh
[...]

В fish:

> bind | grep -F '\ec'
bind \ec capitalize-word
> help commands

Который должен запустить ваш любимый веб-браузер. И искать capitalize-wordтам.

Стефан Шазелас
источник