2010-01-13 48 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見調用。沒有什麼像組織一樣。簡單,小巧。