是否有一个键绑定退出模式并返回到emacs中的上一个模式? 例如,假设我使用以下命令进入行号模式:
Alt+x linum-mode
如何快速禁用此模式并返回之前的模式(不再使用相同的命令)?
答案 0 :(得分:2)
为什么不想再次使用相同的命令?
M-X M-P RET
它并没有那么简单。
编辑:您可以在该序列中重复 Mp 以在命令历史记录中进一步退回,您可以搜索命令历史记录的Mx 的Cr
此外,当您禁用次要模式时,您不会“返回之前的模式”;你只是禁用一个(多个)同时处于活动状态的次要模式。
切向地,“返回到之前的模式”的概念可以应用于主要模式(因为在给定的缓冲区中只有一个活动的主模式),但严格来说,没有“禁用”主要模式的概念 - 仅“启用”您想要更改的模式 - 因此要在两种主要模式之间“切换”,您需要交替调用它们。
答案 1 :(得分:1)
重复相同的命令:M-x linum-mode
。这种次模式命令是切换:开/关。
答案 2 :(得分:0)
C-x z 调用repeat
- 重复上一个命令。
反复调用次模式启用/禁用它。
另一种方法是使用smex
:最后一个命令
那个你用 M-x 打电话的人。
因此,您可以使用linum-mode
启用smex
,进行一系列编辑
使用常用快捷方式,然后禁用linum-mode
M-x RET 。
答案 3 :(得分:0)
解决方案可能会遵循路径kill-ring-save
的工作原理:将处于活动状态的模式存储为先前模式环中的当前模式列表。
此处所需的代码基本上存在于describe-mode
内,从“启用的次要模式”向上看 - 分别对应主要模式。
然后钩子应检查this-command
中是否有“-mode”。如果是,请检查,如果当前模式列表等于前一模式环的汽车。如果没有,请添加新设置。
最后编写一个命令,根据previous-modes-ring中的选定列表设置当前模式。