Я недавно сделал безумно запоздалый переключатель из tcsh для избиения. Единственной вещью, которую я пропускаю, является функция ESC+p tcsh: Начните вводить команду и затем поразите ESC+p (я на самом деле нашел эквивалентный ctrl-[p легче ввести), и это переходит к новой команде в Вашей истории, которая запускается с того, что Вы ввели до сих пор.
Возможно, лучший ответ должен просто привыкнуть к Ctrl+r удара, но до сих пор мне не нравится он так же. Я часто начинаю вводить команду, и затем мне приходит в голову, что я выпустил его прежде. С функцией tcsh я мог затем сделать ESC+p+Enter для переиздавания его. Это столь быстро, что я обычно никогда не использовал бы стрелку вниз ни для чего больше чем 2 команды назад.
Пример того, где я нашел это особенно хорошим: Долгие команды часто запускаются с точки, потому что они имеют форму
./myprogram.pl -lots -of -args -and -switches
В tcsh я дал бы команду как этот, затем возможно, ls, меньше, хвост, безотносительно, и затем переиздать долгую команду, 4 ключа: точка, Escape, p, входит.
Как я могу сделать это в Bash? Или, для создания этого конкретным, что такое наименьшее количество количества нажатий клавиш в ударе для высказывания "повторения последняя команда, которая запустилась с точки"? Это может соответствовать или разбить 4 tcsh?
Добавьте это в свой ~ / .inputrc
файл:
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Это заставит PageUp действовать как tcsh Esc + p и PageDown будет перемещаться вперед по списку.
Вместо этого вы можете привязать \ ep
. Если вы используете PageUp / PageDown , вам может потребоваться увидеть, какую последовательность символов выдает ваша клавиатура / терминал. Просто нажмите Ctrl + V , затем PageUp , и вы увидите ^ [[5 ~
, если он такой же, как \ е [5 ~
.
Ну, вы можете сделать
!.
, который состоит из трех символов (включая Enter). Конечно, в общем случае вы можете заменить точку на уникальный идентифицирующий префикс по вашему выбору.
Я был в одной лодке с вами, и мне нужно было переключиться на bash с tcsh.
Я только что создал новый файл ~ / .inputrc, как показано ниже, и все отлично работает!
$ cat ~/.inputrc "\ep": history-search-backward "\en": history-search-forward
Лично я предпочитаю ctrl-r - это интерактивный поиск по истории - проверьте, возможно, вам понравится. Последующие нажатия ctrl-r переходят к следующему совпадению.