Emacs-эквивалент истории команд Vim (для набранных в командах Meta-x) - PullRequest
6 голосов
/ 21 декабря 2008

Вопрос: Для введенных команд, вызываемых через M-x, у меня возникают трудности с пониманием того, как Emacs позволяет вызывать и повторно запускать команды. История команд работает совсем не так, как в Vim. Он помещает команды в буфер, а не в «минибуфер».

Есть ли способ получить что-то похожее на подход Vim (то есть, ранее набранные команды можно прокручивать, просто используя клавиши со стрелками вверх-вниз)?

Ответы [ 4 ]

14 голосов
/ 21 декабря 2008

C-x ESC ESC, C-x M-ESC или C-x M-: помещает вашу историю в минибуфер, после чего вы можете прокручивать назад и вперед по своему усмотрению с помощью клавиш со стрелками.

M-x list-command-history помещает всю историю в буфер, из которого вы можете выполнять команды.

C-x z повторяет последнюю команду.

Посмотрите раздел руководства EMACS (info) 8.5 История минибуфера.

4 голосов
/ 09 июля 2009

M-p и M-n - это клавиши навигации по канонической истории в программном обеспечении GNU. Emacs не исключение; это работает почти везде, где вы можете что-то напечатать.

В случае расширенных команд («Команды M-x») нажмите M-x, а затем свободно перемещайтесь по истории. Вы также можете выполнить поиск истории с помощью C-r, как в bash.

1 голос
/ 21 декабря 2008

Звоните

customize-group minibuffer

Будет показана опция Длина истории (здесь по умолчанию 30). Если вы хотите сохранить свою историю в сеансах emacs, смотрите

customize-group savehist

Вы можете использовать обычные клавиши со стрелками вверх / вниз для навигации по истории.

0 голосов
/ 21 декабря 2008

Если вы хотите сохранить историю команд (и многие другие параметры) между сеансами emacs, вы можете использовать пакет рабочего стола, который входит в дистрибутив emacs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...