Сначала дать определение:
Mx описать-функцию Ввести dabbrev-expand Ввести
...
Expands to the most recent, preceding word for which this is a prefix.
Учитывая, что bash
, похоже, наиболее сильно подвержен влиянию Emacs, поиск там сначала открывает несколько возможностей:
man bash (1), раздел readline
dynamic-complete-history (M-TAB)
Attempt completion on the text before point, comparing the text
against lines from the history list for possible completion matches.
dabbrev-expand
Attempt menu completion on the text before point, comparing the text
against lines from the history list for possible completion matches.
По умолчанию (или, по крайней мере, в моей системе), M - / уже привязан к complete-filename
:
$ bind -l | grep /
"\e/": complete-filename
Вы можете повторно привязать его, поставив
"\e/": dabbrev-expand
в вашем ~/.inputrc
или /etc/inputrc
.
Обратите внимание, что кажется, что оно завершает только первое слово (команду) и только из истории, а не из текущей командной строки, насколькоЯ могу сказать.
В zsh я не вижу ничего на странице руководства, которая делает это, но должна быть возможность сделать это, выяснив соответствующий compctl
команда ( Google mirror ).