2015-06-02 64 views
0

我有一個包含長文件名的文檔,後跟一個連字符,後面跟着文件內容的描述。這些文件都是PDF文件。我將這個文檔轉換成我們網站上的一個頁面,以便它具有文件名,該文件名應該是文件的鏈接,然後是文件內容的描述。VIM將文本轉換爲帶搜索/替換的URL

我很熟悉VIM的基礎知識,但高級搜索/替換是我缺乏的東西。我想要做的是將每個文件名轉換爲該文件名的鏈接。例如:

WebAdapt_Prod_Int_10.1_Install.IIS7.2008R2.pdf - Step by step instructions for installing ArcSDE 10.1 for Oracle on the ‘Test’ environment, including configuration notes. 

應該轉換爲:

<a href="documents/WebAdapt_Prod_Int_10.1_Install.IIS7.2008R2.pdf">WebAdapt_Prod_Int_10.1_Install.IIS7.2008R2.pdf</a> - Step by step instructions for installing ArcSDE 10.1 for Oracle on the ‘Test’ environment, including configuration notes. 

大致有這些文件的30,所以去行由行會耗費時間(儘管當時我得到我的迴應可能已經做到了)。我只想知道如何在下次給我一個需要格式化的大文本文件時執行此操作。

在此先感謝!

回答

1

試試這個:

:%s!\v^\S+\.pdf!<a href="&">&</a>! 

請注意,上面並沒有試圖做雖然與HTML實體東西。如果這是一個問題,請參閱Vim Tips wiki尋找可能的解決方案。

編輯:方式工作的:

  • :% - 過濾整個文件
  • s!...!...! - 替代
  • \v - 設置 「非常神奇」 的語法正則表達式
  • ^\S+\.pdf - 比賽一行或多行的非空格,然後是.pdf
  • <a href="&">&</a> - 替換爲鏈接:&是匹配的字符串(即文件名)。
+0

工作就像一個魅力!你可以一步一步地指出每個命令的作用嗎?我也可以查看它,所以不要超出你的想法。非常感激! – War2d2

+0

你真棒。非常感謝。 – War2d2