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