2013-07-08 2 views
1

Я хочу делать ссылки и отправлять, например, текстовый файл в Firefox иногда и иногда в Gedit.Emacs в режиме Org, как отправить файл в определенную программу

Как я могу сделать ссылку, чтобы сообщить Firefox, чтобы открыть файл.

Система должна быть универсальной, поскольку иногда я отправляю .jpg в Firefox, а иногда я использую другую программу, но ее нужно связывать как гиперссылку.

ответ

1

Как об этом:

(setq reverse-org-file-apps 
    '(("firefox %s" . "\\.\\(?:xhtml\\|html\\|txt\\|jpg\\|png\\)") 
    ("gedit %s" . "\\(?:txt\\|cc\\)") 
    ("evince \"%s\"" . "\\.pdf\\'") 
    ("okular \"%s\"" . "\\.pdf\\'"))) 

(defun new-org-open-at-point (program) 
    (interactive 
    (list 
    (completing-read "Open with: " 
        reverse-org-file-apps 
        nil t))) 
    (let* ((chosen-program (assoc program reverse-org-file-apps)) 
     (org-file-apps (list (cons (cdr chosen-program) 
            (car chosen-program))))) 
    (org-open-at-point))) 

(global-set-key (kbd "C-z") 'new-org-open-at-point) 

Каждый раз, когда вы вызываете new-org-open-at-point, это даст вам пополнение минибуфер с возможными приложениями. Вы можете расширить reverse-org-file-apps, как вам нравится.

1

Как насчет файла openwith.el?

http://www.emacswiki.org/emacs/OpenWith

+0

Тем временем я нашел другое решение: shell: firefox nameoffile делает трюк. Другие программы могут также запускать команду + имя файла. – xyz

Смежные вопросы