Ich versuche, die dired-find-file
Funktion in Emacs auf Windows XP zu optimieren, so dass, wenn ich öffne (sagen) eine PDF-Datei von dired es eine Kopie von Acrobat Reader startet und öffnet Datei mit ihm, anstatt es in Emacs zu öffnen. Aber ich kann nicht herausfinden, welche Variante auf shell-command/call-process
zu verwenden ist. Hier ist, was ich bisher:Öffnen von Dateien mit Standard-Windows-Anwendung von innerhalb Emacs
(defadvice dired-find-file (around dired-find-file-external (filename &optional wildcards))
"Open non-text files with an appropriate external program."
(if (string= ".pdf" (substring filename (- (length filename) 4))) ; obviously I'll replace this with something more general/robust
(shell-command filename) ;; what should go here?
(ad-do-it)))
(ad-activate 'dired-find-file)
Ich weiß, ich konnte hart Code es Acrobat Reader zu starten, indem er die Position der EXE-Datei geben. Aber ich hätte lieber etwas, das weniger Suchen von mir erfordert und das nicht bricht, wenn Standardanwendungen sich verschieben/ändern. Was soll ich verwenden?
Nicht scharf auf eval-nach-laden, aber +1 für w32-Shell ausführen - es ist eindeutig der richtige Weg, es zu tun. –
"\" sollte "\\" sein – Yoo