【发布时间】:2023-03-28 17:15:01
【问题描述】:
我正在尝试使 kill ring 基本上忽略仅空白条目(制表符、换行符、仅空格等),我对 elisp 相当陌生,我很确定要做的方法是做 defadvice 但是我有几个问题。
- 首先阻止空白条目进入杀戮环,还是在 yank 时跳过它们会更好?我假设是后者。
在这种情况下,我完全不知道我应该建议哪个函数,它在 current-kill、yank 和 insert-for-yank 之间 - 但我不完全确定我应该操纵哪个函数来不从 kill 中拉出空格响。
谢谢!
编辑:我很确定这样做的方法是操纵“current-kill”以继续调用自身,直到它到达非空白条目? (或环结束,以先到者为准)
【问题讨论】:
-
您能否举一个使用模式的示例,该模式会导致 kill ring 中出现大量无用的空格?我感到很困惑,这对某人来说可能是个问题。
-
@Sean 以您杀死一个代码区域的情况为例,稍后您将对其进行拉取。在遍历将要插入代码的位置的途中,您会发现两个相邻的空白行:O。你杀了其中一个,现在,该死的,杀戮环上有一条空线。我时不时会遇到这种情况,这很烦人。
-
@Sean,MrBones 的用例非常完美,或者你经常在一行内容之后有大量空白,你会为了清理它而杀戮。
-
而不是建议,也许只是将 yank 键重新绑定到您自己的功能。在我看来,这听起来会更简单、更健壮。
-
@MrBones 这与您在拉出前一个杀戮的途中杀死任何其他文本时的情况完全相同。当你到达那里时,你只需使用
M-y来支持你想要的杀戮。我只是不明白为什么只有空格的中间杀戮应该特别令人反感。
标签: emacs elisp advising-functions defadvice