文本编辑器和基于文本文件的超链接

时间:2010-01-13 20:32:10

标签: vim emacs editor text-editor hyperlink

背景

似乎有些文本编辑器和IDE开始在其功能中获得更多“类浏览器”。具体来说,一个这样的功能是能够将打开文本缓冲区中的普通文本视为指向另一个文件,资源甚至是可运行命令的超链接。

将此编程为编辑器插件或宏

因为这似乎是一个好主意,所以我已经开始编写一些脚本和编辑器插件来做这件事,这样文本编辑器的用户就可以打开或操作以下样式的链接:

href="c:/files/foobar.txt"                   (click to open file)
href="c:/files/foobar.txt" jumpto="34"       (jump to a line number)
href="c:/files/foobar.txt" find="Lorem"      (jump to 1st line containing word)
href="find_in_files://c:/files" find="Lorem" (show all matching lines)
[[find_in_files://find=Lorem;exten=*.htm*]]  (alternate syntax option)
href="redir://c:/files/feebar.txt"           (replace current edit buffer)
href="run://c:/files/foobar.jpg"             (open in default image editor)
[[run://c:/files/foobar.jpg;runwith=foo.exe]] (alternate syntax option)

问题:

  1. 是否存在形成基于文本的超链接的新兴惯例?
  2. 如果有这种事情的约定,是否有已发布的规范?
  3. 您最喜欢的编辑器/ IDE中是否有这个想法的实现?
  4. 这个想法有没有替代预先存在的方法,不使用超链接?
  5. “祖父”编辑如何处理此功能? (Vim,Emacs)
  6. 更新

    看起来这个问题本来可以澄清,但事实证明,Emacs Org模式是我所寻找的一个具体例子,可以解答我的所有问题。

6 个答案:

答案 0 :(得分:5)

Emacs的组织模式支持各种Hyperlinks

答案 1 :(得分:3)

  1. 网址,例如http://example.com/(通知SO会自动链接该网址),有时还会显示“www”。前缀,只是因为它很常见。电子邮件地址是公认的另一个例子。
    • 但不是这个准xml属性的东西。
  2. 当然不是;一旦你尝试使纯文本遵循一些约定,你就不再有纯文本了。
  3. 是的,请参阅#5。
  4. 是的,请参阅#5。
  5. 编辑,特别是程序员编辑,拥有脚本,宏,工具或任何他们想要调用的东西是非常普遍的。通常这些不是由文件中的文本直接控制,但可以使用文件,文件名,选择,光标位置,当前文件的目录等。我希望许多优秀的程序员使用这些功能而不再考虑它们。
  6. 大多数情况下,这听起来像是在试图解决一个不存在的问题。

答案 2 :(得分:3)

Vim有几个脚本可以添加超链接和标记。其中最受欢迎的是Viki

答案 3 :(得分:2)

jumpto="34"find="Lorem"当然可以替换为网络浏览器风格的#?标记。

所以你的第二个和第三个例子看起来像这样:

href="c:/files/foobar.txt#34"       (jump to a line number)
href="c:/files/foobar.txt?Lorem"    (jump to 1st line containing word)

虽然正如Roger Pate上面所说的那样,听起来好像你正在解决一个不存在的问题。

答案 4 :(得分:1)

Emacs也有“find-file-at-point”,您可以使用M-x ffap调用

答案 5 :(得分:1)

另见LinkD。没有像Org那样的幻想。简单,小。