2015-06-02 32 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