Cách viết một chế độ chính không mở tệp nhưng cung cấp chế độ xem trên đó


9

Tôi muốn viết một chế độ chính để kiểm tra các tệp netCDF. Đây là các tệp nhị phân có thể có kích thước nhiều GB. Vì vậy, tôi không muốn mở chúng trong emacs.

Sự tương tác mà tôi có trong tâm trí là như sau:

  1. Người dùng mở tệp netCDF như mọi tệp khác trong emacs.
  2. Một chương trình dòng lệnh ( ncdump -h) được thực thi trên tệp và đầu ra được diễn giải bằng emacs.

Vấn đề là dường như không có cách nào ngăn chặn emacs thực sự mở tập tin.


3
Vấn đề thú vị. Bạn sẽ không thể thực hiện việc này từ chế độ chính vì quá muộn: Emacs cần mở tệp trước vì nó có thể chọn chế độ chính dựa trên nội dung tệp (ví dụ -*-my-mode-*-). Bạn cần phải kết nối sớm hơn find-find-noselect, có lẽ tại nơi hiện có ngoại lệ cho các thư mục.
Gilles 'SO- đừng trở nên xấu xa'

4
Bạn chỉ cần một hàm chạy một tiến trình và gửi đầu ra đến một bộ đệm cụ thể (với tên tệp là một đối số mà người dùng có thể chọn)? Theo cách nào khác bạn sẽ cần một chế độ chính, vì điều đó thường ngụ ý hoạt động trên một bộ đệm cụ thể (ví dụ, mục đích của chế độ chính là gì, nó làm gì ..)? Dưới đây là liên kết đến hướng dẫn mô tả các quy trình khác nhau có thể được bắt đầu với Emacs: gnu.org/software/emacs/manual/html_node/elisp/ Lỗi
luật

2
Bắt đầu sẽ là sử dụng process-filehoặc call-processtrên một tệp như vậy, bằng cách sử dụng, ncdump -hv.v.
Drew

2
Bạn có biết gói vlf từ elpa? Tôi có ấn tượng rằng gói này thực hiện chính xác những gì bạn cố gắng thực hiện không phải với tệp nhị phân mà với tệp văn bản. Tôi nghĩ bạn có thể học từ gói đó làm thế nào để làm những gì bạn muốn. Nếu bạn có emacs 64 bit thì giới hạn số nguyên của emacs cũng không đáng lo ngại với gói này. Bạn có thể cài đặt gói thông qua M-x package-install.
Tobias

1
Tôi khuyên bạn nên xem xét lại đề xuất của @ Tobias. Không phải vì bạn muốn chức năng của vlf, mà bởi vì vlf cần cùng chức năng bạn cần, vì vậy nó đáng để xem cách nó hoạt động.
Stefan

Câu trả lời:



1

Tôi sử dụng một gói được gọi vorbiscomment, mà bây giờ tôi không thể tìm thấy tại URL trong nhận xét tiêu đề của nó và không xuất hiện trong * ELPA hoặc trên EmacsWiki. Đây là URL không hoạt động:

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

Dù sao, nó cho phép bạn chỉnh sửa siêu dữ liệu thẻ cho các tệp âm thanh OGG Vorbis (nhị phân), nghe có vẻ giống với khái niệm bạn muốn. Nó thực sự chỉ là một trình bao bọc đơn giản xung quanh các công cụ dòng lệnh.

Tôi đã sao chép nó vào ý chính sau:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.