翻译--4.6 链接的缩写

4.6 链接的缩写 :复杂链接的缩写形式 Link abbreviations

长URL输起来很麻烦,而且很多时候在文档中需要插入很多类似的链接. 这个时候你就可以使用链接缩写的功能了. 一个缩写的链接看起类似于

[[linkword:tag][description]] 

这里tag是可选的. linkword必须是一个word,以字母开头后面跟着字母,数字,'-'和''. Org根据变量'org-link-abbrev-alist'中的信息来分析缩写. 该变量把linkword与替代的文本关联起来.下面是个例子

(setq org-link-abbrev-alist
  '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
    ("google"   . "http://www.google.com/search?q=")
    ("gmap"     . "http://maps.google.com/maps?q=%s")
    ("omap"     . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1")
    ("ads"      . "http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?author=%s&db_key=AST"))) 

如果被替代的文本中包含字符串'%s', 字符串'%s'会被tag所取代. 否则tag会直接浮在字符串后面并以此来创建一个链接. 你也可以指定一个函数来创建链接,该函数要求只接受tag这唯一一个参数.

通过上面的设置,你可以使用'[[bugzilla:129] ](不含空格)'来连接到一个指定的bug, 使用'[[google:OrgMode] ]'来在web上搜索'OrgMode',使用'[[gmap:51 Franklin Street,Boston] ]'显示自由软件组织在地图上的位置,使用'[[omap:Science Park 904, Amsterdam, The Netherlands] ]'来显示Carsten office在地图上的位置,使用'[[ads:Dominik,C] ]'来查找Org的作者在Emacs hacking时做了什么.

如果你只需要为单独一个Org buffer指定缩写,你可以在文件中定义:

#+LINK: bugzilla  http://10.1.2.9/bugzilla/show_bug.cgi?id=
#+LINK: google    http://www.google.com/search?q=%s 

在'['之后可以使用In-buffer补完功能来补完缩写. 你也可以定义一个名为'org-PREFIX-complete-link'的函数,该函数实现对使用C-c C-l插入的链接的特定支持动作(例如补完动作). 这个函数不接受任何参数并且返回带前置的完整链接.


你可能感兴趣的:(翻译,emacs,Org-Mode)