如何编写不打开文件但提供文件视图的主模式


9

我想编写一个主要模式来检查netCDF文件。这些是二进制文件,大小可以为多个GB。所以我不想在emacs中打开它们。

我想到的交互如下:

  1. 用户可以像emacs中的任何其他文件一样打开netCDF文件。
  2. ncdump -h在文件上执行命令行程序(),输出由emacs解释。

问题是似乎没有办法阻止emacs实际打开文件。


3
有趣的问题。您将无法从主模式执行此操作,因为运行太晚了:Emacs需要首先打开文件,因为它可以根据文件内容选择主模式(例如-*-my-mode-*-)。您需要更早地find-find-noselect插入,也许是在现在目录例外的地方。
吉尔(Gilles)“所以,别再邪恶了”

4
您是否只需要一个运行进程并将输出发送到特定缓冲区的函数(文件名是用户可以选择的参数)?您还需要什么其他方式来实现主模式,因为这通常意味着要在特定的缓冲区上进行操作(例如,主模式的目的是什么,它做什么……)?以下是手册的链接,该手册描述了可以使用Emacs启动的各种过程: gnu.org/software/emacs/manual/html_node/elisp/…–
法律列表

2
首先是使用process-filecall-process在此类文件上使用ncdump -h等等
。– Drew

2
您知道elpa的vlf 软件包吗?我的印象是,该程序包确实可以完成您尝试用二进制文件而不是文本文件完成的任务。我认为您可以从该软件包中学习如何做自己想要的事情。如果您具有64位emacs,则此软件包也不必考虑emacs的整数限制。您可以通过安装软件包M-x package-install
Tobias

1
我建议您再看看@Tobias的建议。不是因为您需要vlf的功能,而是因为vlf需要与您所需的功能相同的功能,因此值得一看。
斯特凡

Answers:



1

我使用了一个名为的程序包vorbiscomment,该程序包现在无法在其标题注释的URL上找到,并且也不会出现在* ELPA或EmacsWiki中。这是无法正常使用的网址:

http://users-phys.au.dk/harder/

无论如何,它使您可以编辑(二进制)OGG Vorbis音频文件的标签元数据,听起来在概念上与您想要的相似。实际上,它只是命令行工具的简单包装。

我已将其复制到以下要点:

https://gist.github.com/PhilHudson/4fc8f38a5dc2b39f256feddb0014041c

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.