我通过以下方式点击了所有网址:
(define-globalized-minor-mode global-goto-address-mode goto-address-mode goto-address-mode)
(global-goto-address-mode)
但是,当我有一个带有" service命令的shell命令时,"子字符串,Emacs将其视为链接不正确。如何删除该链接类型?
答案 0 :(得分:1)
Emacs 27.1通过两个新变量使它更具可配置性:
goto-address-uri-schemes-ignored
goto-address-uri-schemes
您应该仅设置两个中的一个,并且对于每个文档字符串,必须在加载goto-addr
库之前 进行设置。这是因为新变量只是定义goto-address-url-regexp
时使用的中间值 1 -就像以前一样,它是库最终使用的唯一值。
如果要在加载goto-addr
后更改 的行为,则需要重新生成或设置goto-address-url-regexp
,与早期版本完全相同。有关执行此操作的示例,请参见my original answer。
1 具体来说,goto-address-uri-schemes-ignored
影响goto-address-uri-schemes
的默认值,而该值又影响 default 的值的goto-address-url-regexp
。
答案 1 :(得分:0)
试试这个:
(setq goto-address-url-regexp
(concat "\\<"
(regexp-opt (cl-delete-if
(lambda (x)
(member x '("mailto:" "data:" "service:")))
(copy-sequence thing-at-point-uri-schemes))
:paren)
thing-at-point-url-path-regexp))
这也应该修复原始正则表达式中的错误,所以它也可以匹配一些新的东西,但可能没什么你担心的(“svn + ssh://”和“bzr + ssh://”将现在匹配,其他一些将受到更多限制点的关注。基本上原始代码没有regexp引用方案!)
请注意,“mailto:”和“data:”被排除在原文中。