2010-01-13 47 views
5

背景:基于文本文件的文本编辑器链接

看来,一些文本编辑器和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. 此功能在“grand-daddy”编辑器中如何处理? (VIM,Emacs的)

更新:

看起来问题可以得到澄清,但事实证明,Emacs的组织模式是什么,我一直在寻找答案都是一个具体的例子我的问题。

+0

@Roger Pate @Matt:感谢您的回复。虽然我不同意“问题不存在”的问题。也许我应该说“轻量级标记语言”,而不是“纯文本”(尽管人们也可以轻易理解)。有数百种不同的Wiki引擎具有自己的语法,其中一些遵循已发布的标准。没有什么一般理由可以假设我在这里提出的问题不可能是相似的。 – dreftymac 2010-01-13 23:02:29

回答

5

Emacs的组织模式支持各种Hyperlinks

+0

谢谢,接受答案,因为这实际上给出了我在现实世界的文本编辑器中提到的具体示例。 – dreftymac 2010-01-13 23:04:33

+1

+1提到一个真棒模式,我没有看到任何克隆的地方。 – 2010-01-14 06:31:21

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

大多数情况下,这听起来像是你试图解决一个不存在的问题。

+0

@Roger Pate ** //当然不会;一旦你试图使纯文本遵循一些约定,你不再有纯文本// **不知道这是指什么。如果这意味着“纯文本”对于“格式化文本”是不恰当的,那么我们可以在相互理解的基础上重新开始,即可以用“能够在标准文本编辑器中进行修改”来替换这种用词不当。 XML,YAML和JSON是OP中含义的例子。 – dreftymac 2016-09-15 17:29:38

+0

@Roger Pate ** //它听起来像是在试图解决一个不存在的问题// **并不是真的,只是在研究一个可能已经存在的功能。这不是问题,特别是对于那些不需要或不使用此功能的用户。 – dreftymac 2016-09-15 17:31:05

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) 

虽然,正如罗杰·佩特说以上,这听起来像你解决那些不存在的问题。

+2

欢迎来到SO!尽量避免“高于”或“低于”,因为根据当前投票总数和取决于哪个答案最终被接受,顺序将根据页面的查看方式(最旧,最新,投票)而改变。 – 2010-01-13 21:20:37

3

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

1

Emacs的也有 “找到文件,在点”,您可以用M-X FFAP

1

LinkD见调用。没有什么像组织一样。简单,小巧。