2012-12-02 92 views
2

我有兩個文本文件,一個是我目前正在使用的文件,另一個是字典。我想要做的是使用後者作爲輸入來搜索第一個。我想突出顯示所有匹配的行。基於外部文件搜索亮點

例如爲:

File1中:

I like eggs 
I like meat 
I don't like eggplant 
My mom likes chocolate 
I like chocolate too 

文件2:

meat 
chocolate 

在這個例子中的那些線應當強調:

I like meat 
My mom likes chocolate 
I like chocolate too 

回答

1

該方法與我給您的related question的答案類似:使用readfile(),join()將這些行連接到某個模式,然後使用:match

下面我將如何建立這個交互的命令行:

:match Search /.*\%(<C-R>=join(readfile('file2'), '\|')<CR>\).*/<CR> 

注意,這個快速的單行忽略了錯誤處理,正則表達式逃逸等。你需要經常做這種情況下,我建議你把它變成一個自定義的命令,就像我在鏈接的答案中顯示的那樣。

+0

太好了。非常感謝! – user1871021