当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : emacs中dired如何能按照文件类型选择相应的软件打开
帖子发表于 : 2009-02-23 18:33 

注册: 2007-08-05 4:03
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
希望在dired中在文件上回车后调用系统相应的软件打开文件,而不是用emacs自己以文本形式打开?不知道有没有解决方法?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: emacs中dired如何能按照文件类型选择相应的软件打开
帖子发表于 : 2009-02-23 20:49 

注册: 2007-08-05 4:03
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
引用:
希望在dired中在文件上回车后调用系统相应的软件打开文件,而不是用emacs自己以文本形式打开?不知道有没有解决方法?


刚才自己diy了一个,参考的http://www.emacswiki.org/emacs/dired-open.el

自己又改了改,可以满足我的要求了。如果有人需要,把下面对应的程序改成自己想要的就行了,加到.emacs中
代码:
;帮定到M-RET上
(add-hook 'dired-mode-hook
 (lambda ()
   (define-key dired-mode-map (kbd "M-RET") 'dired-open-file)
 ))

(defun dired-open-file ()
  "Dired find file function.
Open file use another tool"
  (interactive)
  (dolist (file (dired-get-marked-files))
    (dired-open-file-internal file)))

(defun dired-open-file-internal (file)
  "Open diversified format FILE."
  (interactive "fFile: ")
  (let ((file-extension (file-name-extension file)))
    (if file-extension
        (cond ((string-match "\\(pdf\\|ps\\|dvi\\)$" file-extension)
          (call-process-shell-command (format "kpdf %s" file) nil 0))               
         ((string-match "\\(jpg\\|jpeg\\|gif\\|bmp\\|png\\)$" file-extension)
          (call-process-shell-command (format "gwenview %s" file) nil 0))
         ((string-match "\\(avi\\|rmvb\\|rm\\|mpeg\\|mpg\\|flv\\)$" file-extension)
          (call-process-shell-command (format "kaffeine %s" file) nil 0))
         ((string-match "\\(mp3\\)$" file-extension)
          (call-process-shell-command (format "amarok %s" file) nil 0))
              (t (find-file file)))
      (find-file file))))


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google [Bot] 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译