【问题标题】:Emacs: trying to write something after saving provokes message "file changed on disk. Really edit the buffer?"Emacs:保存后尝试写一些东西会引发消息“磁盘上的文件已更改。真的编辑缓冲区吗?”
【发布时间】:2015-10-27 13:12:14
【问题描述】:

Ubuntu 14 中的 Emacs 24。 我只在emacs中打开了文件,每次保存后它都会不断地给我这个。这很烦人。 这很奇怪,因为之前一切正常。我几乎猜不出这段时间我能打破什么。我是 Ubuntu 的新手,根据互联网上的说明使用它。 现在我用的是emacs 23,一切都很好。我想,我需要在保存后立即将打开的缓冲区与保存的文件自动同步。无论如何,我该如何解决它?

【问题讨论】:

    标签: emacs emacs24


    【解决方案1】:

    听起来您计算机上的其他程序在文件更改时正在读取文件,甚至可能引入更改(可能只是修改时间,而不是内容)。很难说那会是什么。

    【讨论】:

    • 如果是,它在后台工作,因为可见程序,它只打开 emacs。这很奇怪,因为emacs 23没有问题。无论如何,我如何在linux中查看工作进程以找到肇事者?
    • man 是你的朋友:man ps 试试,例如:ps -efps -agxl
    【解决方案2】:

    尝试解决方法M-x global-auto-revert-mode。如果您自上次保存后没有进行本地修改,它只会自动恢复。如果您使用多个编辑器,这通常是一个很好的打开模式,我一直保持启用它。

    其他想法:

    1. 检查当前是否有任何其他进程使用fuser /path/to/filename.txt 打开了文件(注意:它只显示打开的文件描述符,不显示将文件内容保存在内存中并稍后写入的进程)
    2. 您是否使用任何非标准文件系统? (与df -h /path/to/filename.txtmount 核对)
    3. 您的系统时间稳定吗? (手动检查date,扫描dmesg的输出是否有明显的计时错误,并在/var/log/的日志文件中查找与NTP相关的错误。

    【讨论】:

      猜你喜欢
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 2011-12-18
      • 2016-12-21
      相关资源
      最近更新 更多