我不确定如何全面地完成这个.
目前我在Windows上构建自己的bzr Emacs,所以我可以看到`display-buffer'现在需要一个SPECIFIERS选项,这可能很有趣,但我找不到如何使用它的具体例子.
但是在调用display-buffer之前必须解决这个问题.
例如,之前的帮助窗口正在访问Buffer-A,但我在阅读帮助时访问了另一个窗口中的Buffer-A.现在,当我退出"帮助"窗口时,缓冲区A也出现在那里.我想在那里出现一些其他有用的缓冲区.
我想制作一个具有其键映射(foo-mode-map)的次要模式(foo-mode),但是当用户按下不在(foo-mode-map)中的任何键时,次要模式应该退出。如何绑定turn-off-foo-mode所有其他键?
编辑:这是我根据所选答案提出的解决方案。它也接受数字输入。
(defalias 'foo-electric-delete 'backward-kill-word)
(defun foo-mode-quit (&optional arg)
(interactive)
(let ((global-binding (lookup-key (current-global-map)
(single-key-description last-input-event))))
(unless (eq last-input-event ?\C-g)
(push last-input-event unread-command-events))
(unless (memq global-binding
'(negative-argument digit-argument))
(foo-mode -1))))
(defvar foo-mode-map
(let ((map (make-keymap)))
(set-char-table-range (nth 1 map) t 'foo-mode-quit)
(define-key map "-" 'negative-argument)
(dolist (k (number-sequence ?0 ?9))
(define-key map (char-to-string k) 'digit-argument))
(define-key map [backspace] 'foo-electric-delete)
map))
(define-minor-mode foo-mode
"Toggle Foo mode.
With no argument, this command toggles the mode.
Non-null prefix argument turns on …Run Code Online (Sandbox Code Playgroud) 我已经尝试将此代码添加到 markdown-mode-hook
(push '(?` . ?`) (getf autopair-extra-pairs :everywhere))
Run Code Online (Sandbox Code Playgroud)
文档autopair-extra-pairs说明:
请注意,这不是你想要的行为与报价单字符,字符前工作.有关更多详细信息,请参阅docs/source注释.
这表明上述方法不起作用(事实并非如此).但是在浏览代码之后我无法弄清楚它会起作用.
我也尝试过使用语法表:
(modify-syntax-entry ?` "$" markdown-mode-syntax-table)
Run Code Online (Sandbox Code Playgroud)
这也没有帮助.
我喜欢使用magit,每当我必须看到magit之外的差异时,我发现默认的差异体验是多么低劣.
特别是两个方面:
1)当我进入新的帅哥时,自动细化差异.- diff-auto-refine-mode不是替代品,因为我并不总是使用Mp和Mn.
2)由于magit-whitespace-warning-face面部被应用,白色空间差异非常明显
.
有没有办法让这两个功能 diff-mode
我在 Emacs 中并排打开了两个缓冲区。当我删除(或修改)第一个文件中的行时,我希望第二个文件接收相同的命令/光标位置。这可能吗?
最好用代码解释:
| | a | b | c | d | row-total |
|----------------+----+-----+----+--------+-----------|
| check-sum | 4 | 5 | 7 | 1000 | |
|----------------+----+-----+----+--------+-----------|
| | 1 | 2 | 2 | 1 | |
| | 3 | 4 | 5 | 6 | |
|----------------+----+-----+----+--------+-----------|
| calculated-sum | ok | (1) | ok | (-993) | |
|----------------+----+-----+----+--------+-----------|
#+TBLFM: @>$<<..$>>='(let ((sum (apply '+ '(@II..@-1))) (expected @2)) (if (= sum expected) "ok" (format "(%s)" (- sum …Run Code Online (Sandbox Code Playgroud) 我正在尝试将网站转换为电子书,并且在每个页面的开头都有大量的html我要删除.正如您可以想象的那样,Q由于大块中的某些内容未正确转义,因此使用不匹配的结果.当我尝试解决问题时,我得到堆栈溢出.
我真正需要的是一种在没有正则表达式的情况下以正常的M-%方式查找和替换dired的方法.这可能吗?
我正在阅读这个问题,答案是一个令人费解的 混乱(计时器功能真的吗?)
在任何情况下,我都不关心重新创建这些缓冲区,因为这是微不足道的.但是这些缓冲区包含永远不应删除的信息,并且因为它们没有关联的文件名,所以它们通常在没有确认的情况下被杀死.
我确实有一个解决方案,但我想看看是否有人有更"规范"的解决方案.
jtahlborn提供了最规范的解决方案,除了"keep-buffers"包显示其年龄有一些问题:
你必须指定是否所有受保护的缓冲区都要被掩埋和擦除(擦除缓冲区可以通过"撤消"恢复),当被杀死时,或者只是在被杀死时被掩埋.
member被重新实现为find-in-list效率较低.
辅助功能并没有真正帮助.
我制作了protected-list一个将regexp与erase-action相关联的alist,并删除了无用的(IMO)代码.默认情况下," scratch "在被杀死时被删除," Messages "永远不会被删除或杀死.
我在ZSH中有这个测试变量:
test_str='echo "a \" b c"'
Run Code Online (Sandbox Code Playgroud)
我想把它解析成两个字符串的数组("echo" "a \" b c").
即读取test_strshell本身会给我一些参数.
请注意,我不打算拆分白色空间或类似的东西.这实际上是将任意复杂的字符串解析为shell参数.
我想评价一下
def foo
puts "you done got fooed"
end
Run Code Online (Sandbox Code Playgroud)
在ruby-debug控制台中.它工作得很好irb.但是在ruby-debug中,我无法让读者在换行后继续阅读输入.
我甚至尝试用反斜杠结束这一行.
我在public repo-x中有commit-x(一个小的单行),当我在repo-y中合并来自branch-y的更改时,我意识到上游更改需要在commit-x中重复逻辑.
我可以在手动合并冲突时进行必要的更改吗?或者我应该在合并后进行新的提交修复它?