Emacs 在不使用键盘退出的情况下停止标记区域

Emacs stop marking region without using keyboard quit

我发现自己经常录制一个宏,标记一个区域,然后意识到我不想标记一个区域。然后我点击 C-g,以我的方式停止它,但结果它停止了宏。

在执行宏的过程中,我不在乎是否有不必要的标记和去标记,只要能快速执行宏即可。

有没有办法静默停止标记区域?

如果您不想设置标记,只需使用 set-mark-command 绑定的前缀参数来弹出该标记(跳转到它,并停用该区域):

C-uC-SPC

如果你不想跳到那个位置,那么你会被标记环中的额外标记卡住,但是你可以使用命令停用该区域(没有前缀) 两次:

C-SPCC-SPC

设置然后停用标记。

为清楚起见,请注意您正在编辑的缓冲区在大多数情况下往往会有一个 "marked region" -- 总有一个分值,如果您一直在编辑,通常会有一个当前标记值.我假设您实际上指的是 "active region"(即突出显示的区域,假设启用了瞬态标记模式)。