org-mode配置使用w3m来打开htm文件

使用org的link时,下面的link可以用org-open-at-point直接使用w3m打开:

file:interm/atmiprog.html

但是把文件名改一下,改为:

file:interm/atmiprog.htm

org-open-at-point就会调系统默认浏览器来打开,而不是w3m。

已经配置了w3m是emacs中的默认浏览器了:

(setq browse-url-browser-function 'w3m-browse-url)                 ;set w3m as emacs's default browser

感觉这应该是一个小问题,但是真没找到在哪儿配置,请大佬们帮忙解答一下呢?

如果不介意所有的网页都是用w3m打开的话,试一下:

(setq browse-url-browser-function '( ("." . w3m-brose-url) ))

这个试了,不行的,htm文件还是默认调我的图形化浏览器打开的。我原来的设置是这样的:

(setq browse-url-browser-function 'w3m-browse-url)                 ;set w3m as emacs's default browser

感觉应该不在这里配置?

org-mode里开是要看org-open-at-point吧。上面说的那个变量是主要对browse-url-at-point起作用的

看了下代码,里面对link调的是org-link-open, 可以调org-link-parameters

1 个赞

谢谢。根据你的提示我找到了我想要的。最后我的配置是这样的:

(defun peng-open-html-tag-file (file-path link-sting)
  "open org link like `file:xxxx.html#here' with w3m."
  (interactive)
  (let ((myurl (format "file://%s" file-path)))
    (w3m-browse-url myurl)))

(setq org-file-apps '(
                      
                      ;; file:xxxx.html#here
                      ("\\.html#.*\\'" . peng-open-html-tag-file)
                      ("\\.htm\\'" . w3m-browse-url)
                      ("\\.html\\'" . w3m-browse-url)

                      (auto-mode . emacs)
                      ("\\.mm\\'" . default)
                      ("\\.x?html?\\'" . default)
                      ("\\.pdf\\'" . default)))

;; 为了在org-mode中打开 `file:xxxx.html#here' 这样的链接,设置这个变量,
;; 在打开的时候不检查了
(setq org-open-non-existing-files t)

2 个赞