如何防止 emacs 错误消息 window 窃取焦点并需要额外的步骤才能消除?
How can I prevent an emacs error message window from stealing focus and requiring extra steps to dismiss?
我在终端中使用纯 emacs 并且喜欢这种方式(对我来说没有 spacemacs 或 gui emacs)。在 gui 版本中,我认为错误消息会以浮动 window 的形式弹出,并且可以消除。在我的设置中,它们在新的拆分 window 中打开并窃取焦点。为了摆脱它,我必须将指针移回我的代码 window 然后,如果我想要我的代码 window 全角,通过删除另一个错误 window 最大化代码 window 与绑定(将错误 [=18=] 保留在缓冲区列表中以供参考)。一条简单的错误消息需要多次击键。理想情况下,我不想在代码出现时失去焦点,并通过单个绑定消除错误消息 window (但将其保留在缓冲区列表中以供参考......理想情况下能够召回它以它最初出现的方式 [在拆分中,没有窃取焦点] 与另一个绑定?
如果它有焦点,可以使用 C-x 0(删除-window)消除错误 window,但是如果您之前有两个 windows 打开,比如说,水平拆分,错误出现在另一个 window 中,消除错误 window 会删除您之前的拆分。我创建了很多不可预测的配置,因此使用 window 编曲对我来说无法恢复一些预先配置的 window 编曲。
我怎样才能做到这一点?
一个选项是启用 winner-mode
并仅将 winner-undo
/winner-redo
绑定到要在 window 配置之间循环的键。错误弹出新的框架后,只需调用一次winner-undo
即可恢复之前的配置。这也为您提供了使用 winner-redo
.
调用错误配置所需的行为
您可以通过将两个苹果酒配置变量设置为 nil
:
来禁用此行为
cider-show-error-buffer
和 cider-auto-select-error-buffer
,
这将阻止默认行为,仍然允许您在需要时手动 select 错误缓冲区 cider-selector
。
我仍然发现使用 popwin 包更方便,将错误缓冲区显示为弹出窗口,而不会破坏您的 windows 布局。
(push "*cider-error*" popwin:special-display-config)
不确定你提到的错误是否是开发时的编译错误 Clojure/script 但是,根据我的经验(我也在终端中使用 Emacs),你可以通过按 [=10 来关闭错误消息=] 然后它会关闭框架并将光标移回原来的框架。
这是我的体验的一个简短视频:https://imgur.com/a/9jzr4yb
我也试过它有多个框架,它按预期工作:它只拆分代码编辑器框架以显示错误;如果您消除错误,它会删除新框架并保留您现有的布局。
我在终端中使用纯 emacs 并且喜欢这种方式(对我来说没有 spacemacs 或 gui emacs)。在 gui 版本中,我认为错误消息会以浮动 window 的形式弹出,并且可以消除。在我的设置中,它们在新的拆分 window 中打开并窃取焦点。为了摆脱它,我必须将指针移回我的代码 window 然后,如果我想要我的代码 window 全角,通过删除另一个错误 window 最大化代码 window 与绑定(将错误 [=18=] 保留在缓冲区列表中以供参考)。一条简单的错误消息需要多次击键。理想情况下,我不想在代码出现时失去焦点,并通过单个绑定消除错误消息 window (但将其保留在缓冲区列表中以供参考......理想情况下能够召回它以它最初出现的方式 [在拆分中,没有窃取焦点] 与另一个绑定?
如果它有焦点,可以使用 C-x 0(删除-window)消除错误 window,但是如果您之前有两个 windows 打开,比如说,水平拆分,错误出现在另一个 window 中,消除错误 window 会删除您之前的拆分。我创建了很多不可预测的配置,因此使用 window 编曲对我来说无法恢复一些预先配置的 window 编曲。
我怎样才能做到这一点?
一个选项是启用 winner-mode
并仅将 winner-undo
/winner-redo
绑定到要在 window 配置之间循环的键。错误弹出新的框架后,只需调用一次winner-undo
即可恢复之前的配置。这也为您提供了使用 winner-redo
.
您可以通过将两个苹果酒配置变量设置为 nil
:
cider-show-error-buffer
和 cider-auto-select-error-buffer
,
这将阻止默认行为,仍然允许您在需要时手动 select 错误缓冲区 cider-selector
。
我仍然发现使用 popwin 包更方便,将错误缓冲区显示为弹出窗口,而不会破坏您的 windows 布局。
(push "*cider-error*" popwin:special-display-config)
不确定你提到的错误是否是开发时的编译错误 Clojure/script 但是,根据我的经验(我也在终端中使用 Emacs),你可以通过按 [=10 来关闭错误消息=] 然后它会关闭框架并将光标移回原来的框架。
这是我的体验的一个简短视频:https://imgur.com/a/9jzr4yb
我也试过它有多个框架,它按预期工作:它只拆分代码编辑器框架以显示错误;如果您消除错误,它会删除新框架并保留您现有的布局。