Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在vim中显示与图案匹配的所有线条_Regex_Vim - Fatal编程技术网

Regex 在vim中显示与图案匹配的所有线条

Regex 在vim中显示与图案匹配的所有线条,regex,vim,Regex,Vim,我在vim中搜索文件中的一个特定字符串,我希望显示所有具有匹配字符串的行,可能在另一个vim窗口中 目前我这样做: 搜索“字符串” /string 并移动到下一个匹配字符串 n or N Bur,我要所有的线和匹配的字符串在一个地方 例如: 这是一根绳子 这里什么也没有 3这是相同的字符串 我希望第1行和第3行显示如下,突出显示string 1这里有一个字符串 3这里是评论中相同的字符串,我相信您的文件是这样的,即行号不是文本的一部分: 这里有一个字符串 这里什么都没有 这是相同的字符串

我在vim中搜索文件中的一个特定字符串,我希望显示所有具有匹配字符串的行,可能在另一个vim窗口中

目前我这样做:

搜索“字符串”

/string
并移动到下一个匹配字符串

n or N
Bur,我要所有的线和匹配的字符串在一个地方

例如:

这是一根绳子

这里什么也没有

3这是相同的字符串

我希望第1行和第3行显示如下,突出显示
string

1这里有一个字符串


3这里是评论中相同的字符串

,我相信您的文件是这样的,即行号不是文本的一部分:

这里有一个字符串
这里什么都没有
这是相同的字符串
您可以将其粘贴到一个命名的寄存器中(以下示例中为“a”),然后将其粘贴到一个新文件中:

:g/string/y A
:e newfile
:"ap
这让你:

这里有一个字符串
这是相同的字符串
或者,您可以使用
grep
命令并添加
-n
以包括行号:

:grep -n string %
1:~/tmp.txt[text]行:3/3,列:23(全部)
:!grep-nH-n string/home/christofer/tmp.txt 2>&1|tee/tmp/vHg7GcV/3
[上次更改后未写入]
/home/christofer/tmp.txt:1:这里是一个字符串
/home/christofer/tmp.txt:3:这是相同的字符串
(1/2):这是一个字符串
按ENTER键或键入命令继续
默认情况下,您将在底部的“命令缓冲区”中获得输出(不知道其正确名称),但是,例如使用
:copen

:g/pattern/#<CR>
是一种过滤注释并跨包含项工作的替代方法

命令如下:

:vimgrep pattern %|cwindow<CR>
执行相同的操作,但使用外部程序。请注意,
:grep
:vimgrep
使用文件,而不是缓冲区

参考:

:help :g
:help include-search
:help :vimgrep
:help :grep
:help :cwindow


FWIW,我的插件结合了
:ilist
和quickfix窗口的功能。

我认为这些行是文本的一部分。如果您使用的是linux,您可以在缓冲区上调用
grep-n
,该缓冲区还提供行号。我也将尝试获取一个例子。我在Windows上使用gVim,我做了一些阅读,结果发现
grep
命令是在Vim本身中实现的,应该也可以在Windows上使用。我最初想打电话给
:!grep-n string%
,它使用操作系统“
grep
(在我的例子中是Ubuntu),但是你可以直接删除
并改用Vim的
grep
。查看。
:grep pattern %|cwindow<CR>
:help :g
:help include-search
:help :vimgrep
:help :grep
:help :cwindow