- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于 Emacs,如何将 view-lossage
收集的内容存储到外部文件中?理想情况下,我希望将这些击键数据自动增量存储到外部日志文件中,这意味着在启动 Emacs 时默认情况下会这样做。
最佳答案
至少在 Emacs 24 中(我现在无法检查以前的版本),view-lossage
的文档字符串指出:
Display last 300 input keystrokes.
To record all your input on a file, use `open-dribble-file'.
C-hf open-dribble-file
RET 告诉我:
open-dribble-file is an interactive built-in function in `C source code'.
(open-dribble-file FILE)
Start writing all keyboard characters to a dribble file called FILE. If FILE is nil, close any open dribble file. The file will be closed when Emacs exits.
所以只需将如下内容添加到您的 .emacs 文件中:
(open-dribble-file (expand-file-name "~/.emacs.d/lossage.txt"))
根据实验,如果文件已经存在,这会破坏文件,因此您需要处理它。
这是一种方法。它通过使用 make-temp-name
为 dribble 文件生成半随机文件名来说明多个 Emacs session ,然后在 Emacs 存在时将其内容附加到主丢失日志文件。 (如果 Emacs 崩溃,它会留下临时文件供您手动处理。)
(defmacro my-persistent-dribble-file (file)
"Append the dribble-file for this session to persistent lossage log FILE."
`(let* ((persistent-file (expand-file-name ,file))
(temporary-file (make-temp-name (concat persistent-file "-")))
(persistent-arg (shell-quote-argument persistent-file))
(temporary-arg (shell-quote-argument temporary-file))
(append-dribble-command (format
"cat %s >>%s && rm %s"
temporary-arg persistent-arg temporary-arg)))
(open-dribble-file temporary-file)
(eval `(add-hook 'kill-emacs-hook
(lambda () (shell-command ,append-dribble-command))))))
(my-persistent-dribble-file "~/.emacs.d/lossage")
关于emacs - 对于 Emacs,如何将 view-lossage 收集到的内容存储到外部文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9761401/
我是一名优秀的程序员,十分优秀!