บางโปรแกรมเช่น firefox มีปุ่มที่เมื่อคลิกเปิดตัวจัดการไฟล์สำหรับเรียกดูไฟล์ ฉันจะทำให้เปิดใน emacs ด้วยโหมด dired บน Debian Linux ได้อย่างไร
บางโปรแกรมเช่น firefox มีปุ่มที่เมื่อคลิกเปิดตัวจัดการไฟล์สำหรับเรียกดูไฟล์ ฉันจะทำให้เปิดใน emacs ด้วยโหมด dired บน Debian Linux ได้อย่างไร
คำตอบ:
ขึ้นอยู่กับสภาพแวดล้อมเดสก์ทอปของคุณวิธีการตั้งค่าแอปพลิเคชันเริ่มต้นอาจแตกต่างกัน ที่กล่าวว่าสภาพแวดล้อมเดสก์ท็อปจำนวนมากเคารพการเชื่อมโยงใน~/.local/share/applications/mimeapps.list
ซึ่งคุณสามารถตั้งค่าการเชื่อมโยงสำหรับapplication/x-directory
และ / หรือinode/directory
ประเภท
mimeapps.list
หน้าตาของฉันตอนนี้:
[Default Applications]
application/x-directory=emacs-dired.desktop
inode/directory=emacs-dired.desktop
ในไดเรกทอรีเดียวกันฉันมีไฟล์ที่เรียกว่าemacs-dired.desktop
มีเนื้อหาต่อไปนี้:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
NoDisplay=true
Exec=emacsclient --eval '(dired "%f")'
Name=Dired
Comment=Emacs Dired
เมื่ออินสแตนซ์อันยาวนานของ Emacs ใช้เซิร์ฟเวอร์ ( M-x server-start
) และฉันคลิกที่ไอคอนโฟลเดอร์ในรายการดาวน์โหลดใน Icecat จะมีdired
บัฟเฟอร์ใหม่เปิดขึ้น
ตอนนี้ใช้งานได้จริงสำหรับฉัน ขอขอบคุณที่ถามคำถาม --- ไม่เช่นนั้นฉันจะไม่ตั้งค่านี้
นี่คือวิธีการทำให้ emacs เป็นตัวจัดการไฟล์เริ่มต้นในอูบุนตู
ก่อนอื่นเราต้องเขียนสคริปต์ซึ่งจะทำหน้าที่เป็นตัวจัดการไฟล์ของเรา
#!/usr/bin/env python
import os
import sys
def main():
if len(sys.argv) > 1:
dirname = sys.argv[1]
else:
dirname = '~'
os.system('emacs --eval \'(dired "{}")\'%'.format(dirname))
# you can use emacsclient if you are running emacs server
if __name__ == "__main__":
main()
บันทึกเป็นในemacsfm
/usr/bin/
ตอนนี้ใน terminal แทนการใช้nautilus
หรือnautilus /foo/bar
เราสามารถใช้หรือemacsfm
emacsfm /foo/bar
ตอนนี้เราต้องตั้งค่านี้เป็นตัวจัดการไฟล์เริ่มต้น ติดตั้งexo-utils
โดยใช้
sudo apt-get install exo-utils
และเรียกใช้
exo-preferred-applications
มันเปิดหน้าต่างใหม่ ไปที่ยูทิลิตี้ -> จัดการไฟล์ -> อื่น ๆและป้อน/ usr / bin / emacsfm "% s"ในนั้น
คุณสามารถดาวน์โหลดโครเมี่ยมได้และหากคลิกshow in folder
จะเปิด emacs dired :-)
ปรับปรุง:
การอ้างอิง: https://help.ubuntu.com/community/DefaultFileManager
แม้ว่าคำถามนี้มีเฉพาะสำหรับ Linux ฉันไปและคิดออกสำหรับ Windows (ตั้งแต่นี้แจ้งให้ฉันค้นหาวิธีทำด้วยตัวเอง)
น่าสนใจพอคุณไม่ต้องเรียกใช้ Dired เพียงแค่ส่งผ่านโฟลเดอร์เป็นไฟล์ สิ่งนี้จะช่วยลดความยุ่งยากบน Windows เนื่องจาก%1
จะผ่านc:\Users
(ตัวอย่าง) และทำลาย\U
หากรวมอยู่ในeval
คำสั่งในขณะที่ส่งผ่านเป็นไฟล์จะแยกวิเคราะห์ได้อย่างถูกต้อง
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Drive\shell]
@="Dired"
[HKEY_CLASSES_ROOT\Drive\shell\Dired]
@="Open in Dired"
[HKEY_CLASSES_ROOT\Drive\shell\Dired\command]
@="\"%path/to/emacsclientw%\" %1"
[HKEY_CLASSES_ROOT\Directory\shell]
@="XYplorer"
[HKEY_CLASSES_ROOT\Directory\shell\Dired]
@="Open in XYplorer"
[HKEY_CLASSES_ROOT\Directory\shell\Dired\command]
@="\"%path/to/emacsclientw%\" %1"
การอ้างอิง: ฟอรัมเจ็ด - วิธีเปลี่ยน File Manager เริ่มต้น
คุณสามารถใช้ Ranger อย่างไรก็ตามคุณสามารถกำหนดค่า xmonad สำหรับการใช้งาน emacs เป็นค่าเริ่มต้นของ windows เมื่อคุณเริ่มเซสชัน