Недавно я сделал безумно долгосрочный переход с tcsh на bash. Единственное, что я пропустил, это tcsh ESC + p: Начните вводить команду, а затем нажмите ESC + p (на самом деле я нашел эквивалентный ctrl- [p проще набрать), и он перескакивает на самую последнюю команду в вашей истории, которая начинается с того, что вы набрали до сих пор.
Возможно, лучший ответ - просто привыкнуть к bash Ctrl + r, но пока мне это не нравится. Я часто начинаю вводить команду, а затем мне приходит в голову, что я ее выдал раньше. С помощью функции tcsh я мог бы сделать ESC + p + Enter, чтобы повторно ее опубликовать. Это так быстро, что я обычно никогда не использовал стрелку вверх для чего-либо большего, чем 2 команды назад.
Пример того, где я нашел его особенно приятным: Длинные команды часто начинаются с точки, потому что они имеют форму
./myprogram.pl -lots -of -args -and -switches
В tcsh я бы выпустил такую команду, а затем, возможно, ls, less, tail, whatever, а затем переиздал длинную команду, 4 клавиши: dot, escape, p, enter.
Как это сделать в Bash? Или, чтобы сделать это конкретным, какое меньшее количество нажатий клавиш в bash сказать "повторить последнюю команду, начатую с точки"? Может ли он соответствовать или бить tcsh 4?