【问题标题】:Text editor and text-file-based hyperlinks文本编辑器和基于文本文件的超链接
【发布时间】:2011-01-04 19:48:30
【问题描述】:

背景:

似乎一些文本编辑器和 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)

更新:

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

【问题讨论】:

  • @Roger Pate @Matt:感谢您的回复。不过,我不同意“问题不存在”的问题。也许我应该说“轻量级标记语言”而不是“纯文本”(尽管人们也可以很容易地对此提出质疑)。有无数不同的 Wiki Engine 有自己的语法,其中一些遵循已发布的标准。没有一般理由认为我在这里问的内容不可能相似。

标签: vim emacs editor text-editor hyperlink


【解决方案1】:

另见LinkD。没有什么像 Org 那样花哨。简单、小巧。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        Emacs 的 Org-Mode 支持各种 Hyperlinks。

        【讨论】:

        • 谢谢,接受的答案,因为这实际上给出了我在现实世界文本编辑器中所指的具体示例。
        • +1 提到了一种很棒的模式,我在任何地方都没有看到过这种模式。
        【解决方案5】:

        当然,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)上面所说,听起来您正在解决一个不存在的问题。

        【讨论】:

        • 欢迎来到 SO!尽量避免“高于”或“低于”,因为顺序会根据页面的查看方式(最旧、最新、投票)、当前投票总数以及最终接受的答案而改变。
        【解决方案6】:
        1. URL,例如 http://example.com/(注意 SO 会自动链接),有时还有“www”。前缀,只是因为它很常见。电子邮件地址是另一个公认的例子。
          • 但不是你拥有的这种准xml属性的东西。
        2. 当然不是;一旦你尝试让纯文本遵循某种约定,你就不再有纯文本了。
        3. 是的,请参见 #5。
        4. 是的,请参见 #5。
        5. 编辑器,尤其是程序员的编辑器,拥有脚本、宏、工具或任何他们想要调用的东西是极其常见的。通常这些不是由文件中的文本直接控制的,而是可能使用文件、文件名、选择、光标位置、当前文件的目录等。我希望很多优秀的程序员使用这些特性而不再考虑它们。李>

        听起来你在尝试解决一个不存在的问题。

        【讨论】:

        • @Roger Pate //当然不是;一旦您尝试使纯文本遵循某种约定,您就不再有纯文本// 不确定这是指什么。如果这意味着“plain-text”是“formatted text”的误称,那么我们可以在相互理解的情况下重新召开会议,这个误称可以替换为“能够在标准文本编辑器中修改”。 XML、YAML 和 JSON 是 OP 中含义的示例。
        • @Roger Pate // 听起来您正在尝试解决一个不存在的问题// 不是真的,只是对可能已经存在的功能进行研究存在。这不是问题,尤其是对于那些不需要或不使用此类功能的人。
        猜你喜欢
        • 2012-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多