我有一个文件,其中包含长文件名,后跟连字符,后跟文件内容的说明。这些文件都是PDF。我正在将此文档转换为我们网站上的页面,以便它具有文件名,该文件名应该是文件的链接,后跟文件内容的描述。
我非常精通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个,因此逐行进行会非常耗时(尽管当我得到回复时,我可能已经完成了这样做)。我想知道如何在下次我给出需要格式化的大文本文件时这样做。
提前致谢!
答案 0 :(得分:1)
试试这个:
:%s!\v^\S+\.pdf!<a href="&">&</a>!
请注意,上述内容并未尝试对HTML实体执行任何操作。如果这是一个问题,请参阅Vim Tips wiki以获取可能的解决方案。
修改:这种方式有效:
:%
- 过滤整个文件s!...!...!
- 替换\v
- 设置&#34;非常神奇&#34; regexps的语法^\S+\.pdf
- 在行的乞讨处匹配一个或多个非空格,然后是.pdf
<a href="&">&</a>
- 替换为链接:&
是匹配的字符串(即文件名)。