Как выполнить предыдущую команду в оболочке emacs?

Я нахожусь в терминальном режиме на Ubuntu, и я запускаю emacs с открытым 2 буферами, один является рубиновым файлом, а другой - оболочкой (открывается путем ввода оболочки Mx) и когда я переключаюсь в буфер оболочки , Я хочу запустить ту же команду, что и раньше. Обычно я просто нажимал стрелку вверх в окне терминала, но в emacs он просто помещает курсор в одну строку.

Кто-нибудь знает о нажатии клавиши для запуска предыдущей команды оболочки из оболочки emacs?

41 голос | спросил Lidmith 11 Mayam10 2010, 09:14:38

5 ответов


57

M-p выполняет задание

ответил vava 11 Mayam10 2010, 09:30:46
23

В дополнение к M-p вы также можете использовать C-up , который я считаю предпочтительным. Дополнительные ключи M-n или C-down предоставят вам следующую команду в истории.

ответил Prakash K 12 Mayam10 2010, 07:48:43
5

Вы также можете добавить это в файл emacs init:

(define-key comint-mode-map (kbd "<up>") 'comint-previous-input)
(define-key comint-mode-map (kbd "<down>") 'comint-next-input)
ответил thiagowfx 26 AM00000040000005031 2014, 04:30:50
2

thiagowfx решение предпочтительнее для меня, поскольку я обычно стараюсь избегать контекстной зависимости. Однако для того, чтобы он работал, мне пришлось сначала добавить режим загрузки:

(progn(require 'comint)
(define-key comint-mode-map (kbd "<up>") 'comint-previous-input)
(define-key comint-mode-map (kbd "<down>") 'comint-next-input))
ответил DeLorean88 21 Jpm1000000pmWed, 21 Jan 2015 17:02:06 +030015 2015, 17:02:06
0

Ответ DeLorean88 работал для меня, но только со второй закрывающей скобкой на строке «progn»:

(progn(require 'comint))
(define-key comint-mode-map (kbd "<up>") 'comint-previous-input)
(define-key comint-mode-map (kbd "<down>") 'comint-next-input))
ответил Kevin Bartlett 30 32016vEurope/Moscow11bEurope/MoscowWed, 30 Nov 2016 02:09:15 +0300 2016, 02:09:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132