วิธีเขียนโหมดหลักที่ไม่ได้เปิดไฟล์ แต่ให้มุมมองกับมัน


9

ฉันต้องการเขียนโหมดหลักสำหรับตรวจสอบไฟล์ netCDF เหล่านี้เป็นไฟล์ไบนารีซึ่งสามารถมีขนาดหลาย GB ดังนั้นฉันไม่ต้องการที่จะเปิดพวกเขาใน emacs

ปฏิสัมพันธ์ที่ฉันมีในใจคือต่อไปนี้:

  1. ผู้ใช้เปิดไฟล์ netCDF เหมือนกับไฟล์อื่น ๆ ใน emacs
  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-fileหรือcall-processบนไฟล์เช่นการใช้งานncdump -hอื่น ๆ
Drew

2
คุณรู้แพ็คเกจvlfจาก elpa หรือไม่? ฉันรู้สึกว่าแพคเกจนี้จะทำสิ่งที่คุณพยายามที่จะทำให้สำเร็จไม่ใช่ไฟล์ไบนารี แต่ใช้ไฟล์ข้อความ ฉันคิดว่าคุณสามารถเรียนรู้จากแพคเกจวิธีการทำสิ่งที่คุณต้องการ หากคุณมี emac แบบ 64 บิตข้อ จำกัด จำนวนเต็มของ emac ก็ไม่เกี่ยวกับแพ็คเกจนี้ M-x package-installคุณสามารถติดตั้งแพคเกจผ่าน
โทเบียส

1
ฉันขอแนะนำให้คุณดูคำแนะนำของ @ Tobias อีกครั้ง ไม่ใช่เพราะคุณต้องการฟังก์ชั่นของ vlf แต่เป็นเพราะ vlf ต้องการฟังก์ชั่นเดียวกับที่คุณต้องการดังนั้นมันจึงคุ้มค่าที่จะดูว่ามันทำงานอย่างไร
Stefan

คำตอบ:


2

ค่อนข้างแน่ใจว่าคุณสามารถทำสิ่งนี้โดยการตั้งชื่อไฟล์ "magic" ดูส่วนหนึ่งของคู่มืออ้างอิง Elisp นี้


1

ฉันใช้แพคเกจที่เรียกว่าvorbiscommentซึ่งตอนนี้ฉันไม่สามารถค้นหาได้ที่ URL ในความคิดเห็นส่วนหัวและซึ่งไม่ปรากฏใน * ELPA หรือบน EmacsWiki นี่คือ URL ที่ใช้งานไม่ได้:

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

อย่างไรก็ตามมันช่วยให้คุณแก้ไขข้อมูลเมตาแท็กสำหรับ (ไบนารี) ไฟล์เสียง OGG Vorbis ซึ่งฟังดูคล้ายกับแนวคิดที่คุณต้องการ มันเป็นเพียงเครื่องมือห่อหุ้มที่เรียบง่ายรอบ ๆ เครื่องมือบรรทัดคำสั่ง

ฉันได้คัดลอกไปยังส่วนสำคัญต่อไปนี้:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.