Зачастую я копался в подходах и документах, ища что-то вроде следующего, только чтобы сдаться, чтобы вернуться к поставленной задаче:
(Повтор последней команды)
выполнить последнюю C- или M-команду, которую я только что выполнил (чтобы вернуться к клавише fn)
или иногда связанные:
(Описывают-последний-функции)
какое нажатие клавиши я просто ошибочно произвожу, эффект от которого я хотел бы добавить к моей сумке трюков. ключ описания близок, но требует знания того, что я напечатал.
Я просто слишком много спрашиваю у моего верного помощника?
(repeat)
и Cx Mz(repeat-complex-command)
. Смотрите также(repeat-matching-complex-command)
.Ответы:
в отношении « description-last-function »:
Есть переменная,
last-command
которая установлена на символ, представляющий последнее, что вы сделали. Так что этот фрагмент elisp(describe-function last-command)
- должен привести документацию для того, что произошло немедленно.Таким образом, вы могли бы сделать тривиальную работу,
describe-last-function
как такПоместите этот elisp
.emacs
или эквивалентный, и у вас будет Mx description -last-function .Если вы нажали несколько клавиш или сделали что-то, что изменило последнюю команду, начиная с интересующей вас вещи, эта
command-history
функция может представлять интерес. Вы можете получить это с помощью Mx command-historyисточник
Функциональность повтора обеспечивается
repeat.el
пакетом Emacs Lisp, который включен в стандартные дистрибутивы Emacs. Изrepeat.el
документации:Чтобы увидеть дополнительную информацию о команде повтора, введите C-h F repeat RETEmacs.
источник
Повторите последнюю команду
C-xz
Как только вы нажали его, просто нажмите только z после этого, и он будет повторяться (без необходимости C-xповторного нажатия ).
источник
Да, есть повторная команда. Это называется
repeat
:Немного шокирует, никто не упомянул
repeat-complex-command
, доступный от связывания ключа C-x ESC ESC.источник
C-x M-:
(мнемоника: как,M-:
но с выражением elisp, уже заполненным для вас).repeat.el
(который включаетC-x z z z...
), являются вторыми самыми близкими. Если задать второй вопрос о том, какие нажатия были нажаты последними, лучший ответ -C-h l
(view-lossage
). ИМХО дляdescribe-last-command
команды мало пользы .C-x M-:
как часть макроса клавиатуры, что может быть удобно.repeat-complex-command
Привязки по умолчанию слишком громоздки, чтобы печатать снова и снова.Также
M-x view-lossage
показывает последние сто (?) Нажатий клавиш, которые вы ввели. Таким образом, вы сможете увидеть, где находится команда. Это то, что я использовал до тех пор, пока не узнал, оM-x command-history
чем, я думаю, я буду использоватьC-h w
сейчас.источник
Я не совсем уверен, но, возможно, вы ищете это?
Руководство по Emacs, 8.11. Повторение команды
источник
z
сами по себе продолжат повторение.Может быть, это тоже поможет ... Из справки по emacs:
источник
Лично я нашел идею Себастьяна полезной. Вот рабочая версия
источник
isearch
иisearch-backward
являются важными навигационными командами, и что последние по умолчанию связаны с <kbd> Cr </ kbd>, можно, вероятно, найти лучшую привязку для repeat-command. На Mac я бы предложил Command (super) -Y, поскольку в некоторых приложениях уже существует соглашение об использовании этого в противоположность «отменить».Это старое, но Google выскакивает сообщение об этом первым, когда я искал последнюю команду, которую я набрал в приглашении Emacs. Ни один из этих ответов не сработал для меня, поэтому я решил внести свои два цента для тех, кто может наткнуться на это позже, как и я. Я использую Portacle, но я нашел то , что искал в здесь , так что я надеюсь , что это родовое достаточно для работы с различными установками. Во всяком случае, то, что работало для меня, использует C-↑и C-↓циклически перемещаться по истории. Использовать M-pи M-nработать так же хорошо, но я предпочитаю использовать стрелки, так как я использую Bash совсем немного.
источник