对于 Emacs,如何将 view-lossage 收集的内容存储到外部文件中?

2024-04-12

对于 Emacs,我如何存储内容view-lossage收集到外部文件中?理想情况下,我希望将这些击键数据自动增量地存储到外部日志文件中,这意味着在 Emacs 启动时默认情况下会这样做。


至少在 Emacs 24 中(我现在无法检查之前的版本),文档字符串为view-lossage states:

显示最近 300 个输入按键。

要将所有输入记录到文件中,请使用“open-dribble-file”。

And C-hf open-dribble-file RET tells me:

open-dribble-file 是`C 源代码中的交互式内置函数 代码'。

(打开运球文件文件)

开始将所有键盘字符写入名为 FILE 的运球文件。 如果 FILE 为零,则关闭所有打开的 dribble 文件。 当 Emacs 退出时该文件将被关闭。

因此,只需将如下内容添加到您的 .emacs 文件中:

(open-dribble-file (expand-file-name "~/.emacs.d/lossage.txt"))

实验上,如果文件已经存在,这会破坏该文件,因此您需要处理该问题。

这是一种方法。它通过使用来解释多个 Emacs 会话make-temp-name为 dribble 文件生成半随机文件名,然后在 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")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于 Emacs,如何将 view-lossage 收集的内容存储到外部文件中? 的相关文章

  • 同时维护多个emacs配置

    我想在同一台电脑上的同一用户帐户上同时维护多个 emacs 配置 例如 emacs prelude emacs starter kit 和我自己的自定义 emacs 配置 为此 我设置了 emacs1 d emacs2 d emacs3 d
  • emacs - 如何在子目录中进行查找文件搜索

    我想为 Emacs 实现类似 Resharper 的 转到文件 功能 当按下上述快捷键时 Resharper 会弹出一个接受通配符字符串的文本框 并显示一个自动完成菜单 其中列出了项目中与该通配符匹配的所有文件 source jetbrai
  • 如何在保存之前对 Emacs 中更改的行执行操作?

    我想添加一个 before save hook 我可以在其中仅对自上次保存以来更改的行执行一些操作 例如 删除尾随空格 检查缩进等 我不想对整个文件执行此操作 并且我知道每个选项都有单独的选项 只是为了删除所有更改行的尾随空格 等等 但我想
  • 在 Emacs 中定义新的工具提示

    我想向 emacs 添加自定义工具提示 更具体地说 每当我将鼠标悬停在符号 函数 变量 名称上时 用我的鼠标我想看到带有符号定义的工具提示 我知道我可以使用 cscope 这样的工具找到此类信息 但我不知道如何找到 将 cscope 的输出
  • Emacs:如何拉动最后拉动的文本,无论后续杀戮如何?

    我经常发现自己在完成一些杀戮后反复猛拉一些东西 它变成了一个像这样的过程 C y C y M y C y M y M y C y M y M y M y 每次我删除一些文本时 它都会将第一个删除推回到删除环中 以便我需要循环遍历所有删除以返
  • 符号的函数定义为 void:declare-function

    emacs 新手 OSX 上的 GNU Emacs 22 1 1 按照说明安装了邪恶 我得到 Symbol s function definition is void declare function emacs debug init gi
  • 如何根据文件位置运行钩子

    我参与了使用选项卡的 python 项目 但是我没有在我编写的所有其他代码中使用它们 在该特定项目中使用它们至关重要 项目位于特定目录下的一个目录中 IE main folder project1 project2 project3 etc
  • Emacs 23.1.50.1 在 Windows XP 上随机挂起 6-8 秒

    我的 Windows XP 机器上有 EmacsW32 23 1 50 1 emacs 运行 它随机挂起 5 到 8 秒 非常令人沮丧 有人有解决办法吗 我什至尝试使用来自 gnu ftp 站点的 emacs win32 二进制文件 23
  • Emacs 退出终端

    在 Emacs 中运行终端模式时使用M x term using C x C o我无法切换到另一个缓冲区来继续处理事情 我知道这是可能的M x shell但使用此命令时 shell 的某些方面不起作用 less more 手册页等 我想知道
  • 如何更改 emacs 上的光标颜色

    我对 Emacs 的颜色做了一些更改 现在唯一的问题是光标在黑色背景上为黑色 我必须更改它 我该怎么办 如果您运行的是最新版本的 emacs 您可以使用 Set cursor color to white set cursor color
  • Emacs:调试Python的方法

    我把这个贴在程序员 stackexchange com https softwareengineering stackexchange com questions 29844 emacs methods for debugging pyth
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Pymacs 助手在 30 秒后未启动

    我见过其他关于此的问题 但没有一个得到真正的回答 而且没有一个是我的问题 我有一个新系统 emacs 23 1 Centos 6 2 我认为 我下载了最新的 pymacs 并安装了它 但是 我得到 error Pymacs helper d
  • Emacs-Lisp:如何将emacs-lisp程序打包为PC应用程序?

    只是想知道是否可以将 emacs 和 Lisp 程序打包和部署为 PC 应用程序 这样一旦下载并运行 setup exe 某种程度 用户就可以启动应用程序以使 emacs 运行特定的 Lisp 程序 就像应用程序已实现一样通过其他语言和平台
  • 设置 Emacs 进行 Erlang 编程

    Emacs 是 Erlang 编程的首选 IDE 有很多好的模式 distel erlware mode 默认的 erlang 模式 但是您对设置 Emacs 进行专业 Erlang 开发有何建议 按照中所述设置 erlang mode自述
  • emacs 临时文件的 .gitignore 正则表达式

    我正在尝试 gitignore emacs 临时 自动保存文件 我在用着 在我的 gitignore 中 But git add A在子文件夹中运行仍然给我 new file make collections py new file nor
  • 将字符定义为单词边界

    我已经定义了 字符在乳胶模式下充当单词组成部分 我对结果非常满意 唯一困扰我的是像这样的序列 alpha beta被视为单个单词 当然 这是预期的行为 有没有办法让 emacs 将特定字符解释为单词 starter 这样 它将始终被视为其后
  • 为什么在 emacs-lisp 中的函数参数之前使用#'?

    我熟悉 Emacs Lisp 但不熟悉 Common 或任何其他 Lisp 一些 Lisp 程序员建议 例如emacs 的基本功能 https stackoverflow com questions 17076646 a basic fun
  • 将剪贴板上的图像粘贴到 Emacs Org 模式文件而不保存它

    由于我使用 Emacs Org 模式作为研究日志 有时我想通过屏幕截图来跟踪某些内容 但我绝对不想保存它们 所以我想知道是否有任何方法可以将这些数字插入到我的组织模式文件中 就像使用 word 从剪贴板复制它们一样 您想要的确切功能目前尚未
  • 在 Emacs 中,如何根据缓冲区名称自动启用次要模式?

    我有一个 Emacs 扩展 它创建一个名为 erl output 该缓冲区仅由以下内容创建fundamental mode默认情况下 有什么办法可以自动启用compilation minor mode在那个缓冲区上 要自动更改主要模式 您可

随机推荐

  • 如何使用 Javascript 访问网络摄像头 [重复]

    这个问题在这里已经有答案了 我用谷歌搜索了很长一段时间关于这个话题 没有任何令人满意的结果 实际上我的基本问题是 有没有可能使用 Javascript 访问网络摄像头 也许用 HTML5
  • jQuery .val() 与 .attr("value")

    我本来以为这两个是一样的 但看起来不是 我一般都用过 obj attr value 使用表单字段 但在我当前正在构建的页面上 obj attr value 不返回我在字段中输入的文本 然而 obj val does 在我构建的另一个页面上
  • 自定义验证错误的自动响应

    在 asp net core 2 1 中 当发生验证错误时 ApiController 将自动响应 400 BadRequest 如何更改 修改发送回客户端的响应 json body 有某种中间件吗 我正在使用 FluentValidati
  • 使用 Celery(RabbitMQ、Django)检索队列长度

    我在 django 项目中使用 Celery 我的代理是 RabbitMQ 我想检索队列的长度 我浏览了 Celery 的代码 但没有找到执行此操作的工具 我在 stackoverflow 上发现了这个问题 从客户端检查 RabbitMQ
  • 在 go 中使用来自网络的原始字节

    抱歉 问题很长 我最近一直在尝试使用 Go 而不是 C 来开发一个游戏服务器模拟器 我正在将其作为一个业余项目进行开发 并质疑我是否以合理的 Go 术语来实现它 正如您所料 服务器通过发送符合特定协议规范的原始数据包 TCP 与一个或多个游
  • Xcode UI 测试 - 使用存储的凭据登录/注销

    我想在我的 iOS 应用程序 Xcode 7 2 1 中运行登录过程的功能 UI 测试 该应用程序的行为是 成功登录后 将存储用户凭据 以便在下次启动时自动登录 不显示登录屏幕 因此 我在登录屏幕中设置了一系列 UI 事件 以使应用程序首次
  • 如何避免 TYPO3 中的日期时间问题?

    我创建了一个小扩展 它使用日期时间来查看一些特定事件 事件日期和事件时间 但如果我尝试从数据库获取正确的日期时间到前端 我总是会遇到麻烦 我可以通过 TYPO3 后端设置每个事件的日期时间 但是如果我尝试在前端获取这个值 例如
  • 从多个自左连接中删除重复项

    我正在动态生成如下所示的查询 该查询通过对其自身进行左连接 任意次数 来创建不同的规则组合 并避免使用某些相同属性作为连接条件的一部分的规则 例如 SELECT count FROM rules AS t1 LEFT JOIN rules
  • Bool.hashValue 转换为 Int 有效吗?

    在某些情况下和一些代码我看到hashValue用于转换Bool to Int 然而 代码 let someValue true let someOtherValue false print someValue hashValue print
  • 具有属性的 jasmine.createSpyObj

    在我的 Angular 测试中模拟依赖项时 我通常使用以下命令创建一个间谍对象jasmine createSpyObj const serviceSpy jasmine createSpyObj MyService method 然后将其提
  • Oracle Apex 22.21 - 图表页面 - 条形图类型 - 日期选择器

    我有一张桌子ORDERS其中包含列ORDER DATE 我创建了一个Chart as a Bar type 我希望图表显示给定日期或范围内的订单量 我正在关注这个Youtube教程 https www youtube com watch v
  • 为什么在数据包输入时 skb_buffer 需要跳过 20 个字节才能读取传输缓冲区?

    我正在 Linux 中编写一个网络模块 我发现只有在从 skb 缓冲区跳过 20 个字节后才能提取 tcp 标头 即使 API 是 skb transport header 其背后的原因是什么 有人可以详细解释一下吗 传出数据包不需要同样的
  • 无法使用 Jasper 报告库生成 Excel 工作表报告

    我尝试使用以下代码生成 Excel 报告 import java util import net sf jasperreports engine import net sf jasperreports engine export JRXls
  • 使用 System.Web.Mail 发送电子邮件

    我想用asp发送电子邮件 我用这个代码 using System Web Mail MailMessage msg new MailMessage msg To email protected cdn cgi l email protect
  • dbms_output 语句中的单引号?

    我需要在 dbms output 语句中包含单引号 我试过这个 dbms output put line first name 这里的名字是variable 我需要在单引号内显示 它 你可以通过加倍逃脱 dbms output put li
  • Webpack 模块联合应用程序之间的热重载

    我开始尝试使用 webpack 模块联合的微前端 这是为了一个非常特殊的目的 因为在我们公司 我们开发大型软件 例如在基于角色的访问控制中做出反应的仪表板 我希望每个部分 或几乎 都是一个单独的应用程序 所以我设法实现了一切 只是我注意到当
  • 将自身引用为模板模板参数的模板类?

    这段代码 template
  • 将向量声明为类成员

    我在头文件中有简单的类 a hh ifndef a hh define a hh class a public int i a i 0 endif 然后我有一个文件 b cc include
  • 是否可以使用 Groovy XMLSlurper 解析子树

    有谁知道是否可以以某种方式使用 XMLSlurper 这意味着可以从非常大的 XML 文档中提取各个子树并单独进行处理 想象一下 您有一个巨大的 XML 提要 其中包含一个根元素 该根元素具有数千个可以单独处理的直接子元素 显然 将整个文档
  • 对于 Emacs,如何将 view-lossage 收集的内容存储到外部文件中?

    对于 Emacs 我如何存储内容view lossage收集到外部文件中 理想情况下 我希望将这些击键数据自动增量地存储到外部日志文件中 这意味着在 Emacs 启动时默认情况下会这样做 至少在 Emacs 24 中 我现在无法检查之前的版