Я нахожусь в режиме терминала в Ubuntu, и я запускаю emacs с 2 открытыми буферами, один - файл ruby, а другой - оболочка (открывается с помощью ввода Mx shell), и когда я переключаюсь в буфер оболочки, я хочу выполнить ту же команду, что я запускал раньше. Обычно я просто нажимаю стрелку вверх в окне терминала, но в emacs он просто помещает курсор на одну строку вверх.
Кто-нибудь знает о нажатии клавиш для запуска предыдущей команды оболочки из оболочки emacs?
В дополнение к M-p, вы также можете использовать C-up, который я считаю предпочтительным. Дополнительные ключи M-nили C-downвы получите следующую команду в истории.
источник
C-up
отображаетсяexpose
. ИM-p
чувствует себя более естественно для меня.Вы также можете добавить это в ваш файл инициализации emacs:
источник
Решение thiagowfx предпочтительнее для меня, поскольку я обычно стараюсь избегать зависимостей от контекста. Однако для того, чтобы он работал, мне сначала нужно было добавить режим загрузки:
источник
Ответ DeLorean88 работал для меня, но только со второй закрывающей скобкой в строке «progn»:
источник