it-swarm-ru.tech

Завершение командной строки из истории команд

Итак, я посмотрел на историю и Ctrl+R, но они не то, что я думал, я знал. Есть ли способ, которым я могу набрать в начале команды и циклически проходить матчи в моей истории с помощью некоторого ярлыка bash?

# mysq(some shortcut key)

Дает мне:

# mysqldump  --add-drop-table -e -q -n -C -u 
(some shortcut key)
#  mysql -u ben.dauphinee -p
89
Ben Dauphinee

Прессование Ctrl+R откроет обратный поиск истории. Теперь начните вводить вашу команду, это даст первое совпадение. Нажав Ctrl+R снова (и снова) вы можете перемещаться по истории.

mysq(Ctrl+R)

Даст:

mysqldump  --add-drop-table -e -q -n -C -u 

Ctrl+R снова:

mysql -u ben.dauphinee -p
93
wag

Чтобы расширить сказанное Жилем, в моем .inputrc есть следующее, чтобы связать клавишу со стрелкой вверх/вниз с history-search-backward и ​​history-search-forward:

# Key bindings, up/down arrow searches through history
"\e[A": history-search-backward
"\e[B": history-search-forward
"\eOA": history-search-backward
"\eOB": history-search-forward

Просто введите что-нибудь (необязательно), затем нажмите клавишу со стрелкой вверх/вниз для поиска в истории команд, начинающихся с того, что вы ввели.

Чтобы сделать это в .bashrc вместо .inputrc, вы можете использовать:

bind '"\e[A": history-search-backward'
68
raychi

Вы также можете нажать кнопку PAGEUP для автоматического завершения команды. Он в основном ищет bash_history файл.

7
0aslam0

Вы можете использовать команды readline history-search-backward а также history-search-forward для перехода между строками команд, начинающимися с уже введенного вами префикса. Ни одна из этих команд не привязана к ключам в конфигурации по умолчанию.

Zsh (zle) имеет похожие команды history-beginning-search-backward а также history-beginning-search-forward, также не привязан к ключам по умолчанию. Это также history-search-backward а также history-search-forward, который использует первое слово текущей команды в качестве префикса для поиска независимо от положения курсора.

5

Если вы хотите получить хороший обзор очень похожих команд, вы можете получить список с:

history|grep KEYSTRING

Затем скопируйте и вставьте среднюю кнопку мыши.

Ргдс - Джо

4
joe_zeroh