根据此文件
http://vim.wikia.com/wiki/Find_in_files_within_Vim
如果像
那样使用grep:vim[grep][!] /{pattern}/[g][j] {file} ...
它应该能够通过匹配模式查找文件。
我有一个名为text.txt的文本文件,位于我从中启动vim的目录中。
text.txt的内容是
look for me
在vim中输入命令
:grep /look/gj *.txt
但我没有得到任何结果。虽然文件text.txt包含字符串“look”。
答案 0 :(得分:3)
您只是混淆了两个命令::vimgrep
和:grep
。
:help :vimgrep
使用内部方法搜索文件,并有自己的语法和标志。
:help :grep
使用外部程序进行搜索,因此它没有定义的语法;您使用的语法取决于幕后使用的外部程序。
您无法真正期望:vimgrep
语法适用于:grep
。
答案 1 :(得分:2)
您正在使用vim的grep语法,而不是使用while (!BackgroundWorker.CancellationPending)
{
label1.Text = DateTime.Now.Minute.ToString() + " " + DateTime.Now.Second.ToString();
}
语法。
如此处所写:How do I search in all files of my project using VIM?
grep(1)
的语法默认情况下与:grep
命令相同:
grep(1)
默认情况下,它将搜索当前目录(:pwd)。
:grep和:vimgrep之间的主要区别在于:vimgrep(:vim for> short)使用与Vim兼容的正则表达式,而:grep使用& grepprg使用的任何>正则表达式。
答案 2 :(得分:0)
搜索通常也会在当前目录中运行,因此我会检查:pwd
和:ls
的输出,看看您是否看到了您希望看到的内容。
但是,如果您:cd ~
,则可以使用vimgrep
作为路径,使用**
搜索子目录:
:vim /look for me/ **/*.txt
我还建议,除非您有特定要求,否则不要在搜索模式后使用g
或j
标记。