2

我经常需要阅读结构相当简单的大型 XML 文件(> 100 MB)。我想使用 emacs,但它不太支持大文件。我在想也许我可以使用可以为我进行 SAX 或 StAX 解析并为我提供所有必要操作(例如搜索)的 java 应用程序。在 emacs 和外部 java 应用程序之间进行通信的“正确方式”是什么?

4

2 回答 2

7

您可以尝试禁用该特定缓冲区的字体锁定模式。我打开的文件比使用 emacs 的文件大得多。我注意到只有当文件中的行大于我的屏幕并且它们开始换行时才会减速。让它们离开屏幕并禁用字体锁定会加速性能。

于 2009-05-04T17:38:49.310 回答
6

我认为没有单一的“正确方法”,但这里有一些想法:

  • 使您的 Java 应用程序将 XML 文档呈现为一组成组的线程文章;让它说NNTP并使用 Gnus,或者提出你自己的协议并为其编写一个 Gnus 后端(请参阅Web-browsing backends以获取灵感)
  • 把 XML 文档想象成一个 Lisp 程序(S-表达式,XML 元素,有什么区别?)并在 Emacs 中编写一个与SLIME通信的Swank 后端,然后使用 SLIME 命令进行查询
  • 编写一个FUSE驱动程序,以便您可以将 XML 文档挂载为文件系统并使用Dired来探索它。
于 2009-05-04T13:29:41.653 回答