在emacs中,在comment-region
之类的操作之后,将自动取消选择所选区域。
有没有办法禁用此行为?
答案 0 :(得分:10)
如果取消选择该区域,则听起来您必须使用transient-mark-mode
。在transient-mark-mode
中,当您执行对该区域进行操作的命令时,将取消选择该区域(特别是,标记保留,但它处于非活动状态)。您可以使用C-x C-x
(exchange-point-and-mark
)重新选择区域(重新激活标记)。
如果要完全禁用取消选择,可以关闭transient-mark-mode
。这意味着您不会突出显示当前区域,但如果您想设置标记并突出显示该区域,则可以turn on transient mark mode briefly使用C-<SPC> C-<SPC>
或C-u C-x C-x
。< / p>
答案 1 :(得分:0)
幸运的是,键盘宏在更改区域时不会取消选择该区域。因此,您可以编写函数,然后创建一个kbd宏,该宏调用您的函数,然后执行C-x C-x一次,或者,如果您关心点和标记的原样,请执行两次。然后命名您的kbd宏。然后,M-x write-kbd-macro,并在出现提示时,给它提供您想要宏附加到的文件的名称,然后给它提供新宏的名称。如果现在将宏绑定到键,则可以重复按该键而不会丢失该区域。 如果Emacs的'interactive'将'_'作为字符串参数的一部分来保留该区域并突出显示XEmacs的'interactive'的方式,那肯定很好。
答案 2 :(得分:0)
使用变量isUserLoggedIn(){
// remove token if cookie not set
if(this.getCookie("loginstatus") != 'loggedin'){
localStorage.removeItem("token");
}
let session = localStorage.getItem('token');
if (session == null) {
return false;
}else{
return session
}
}
:
deactivate-mark
在上面的示例中,您可以将(defun acg/with-mark-active (&rest args)
"Keep mark active after command. To be used as advice AFTER any
function that sets `deactivate-mark' to t."
(setq deactivate-mark nil))
(advice-add 'comment-region :after #'acg/with-mark-active)
替换为所需的任何其他功能。