Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Search VIM:仅在特定行号之间搜索?_Search_Vim - Fatal编程技术网

Search VIM:仅在特定行号之间搜索?

Search VIM:仅在特定行号之间搜索?,search,vim,Search,Vim,我知道,通过Vim的替换命令,您可以指定一系列行: :12,24s/search/replace 我希望能够指定一个范围与正常搜索以及。差不多 :12,24/search 既然这至少在我的Vim配置上不起作用,有人知道如何实现这一点吗 多谢各位 :help search-range 然后 :help /\%>l 因此,本质上: /\%>12l\%<24lsearch 阿基拉的回答很好。但经过一番挖掘,我找到了另一个选择。它不那么优雅,但更容易输入: :12,24g/

我知道,通过Vim的替换命令,您可以指定一系列行:

:12,24s/search/replace
我希望能够指定一个范围与正常搜索以及。差不多

:12,24/search
既然这至少在我的Vim配置上不起作用,有人知道如何实现这一点吗

多谢各位

:help search-range
然后

:help /\%>l
因此,本质上:

/\%>12l\%<24lsearch

阿基拉的回答很好。但经过一番挖掘,我找到了另一个选择。它不那么优雅,但更容易输入:

 :12,24g/search/

这会给你一个恼人的提示,但它会在包含搜索字符串的范围内的第一行结束。

你真的需要行号吗?另一种方法是以视觉方式选择范围

使用v、v或其他选择范围 按ESC键取消选择范围 使用/\%Vwhat\u to\u search进行搜索,在以前选择的范围内搜索“what\u to\u search”。 这是较少的类型,但不是直接你所要求的-

请参阅:帮助%V


[编辑]太好了,我刚刚了解到,在进行搜索后,可以通过选择另一个范围来更改要搜索的范围,通过按ESC再次取消选择此范围,然后按n重复搜索。Vim总是非常适合令人惊喜的应用。

继续使用substitution命令,但将gc标志附加到原始示例中

:12,24s/search//gc

发件人:帮助搜索范围

[在某个范围内搜索]使用 :将命令替换为“c” 旗帜

例如: :,300s/Pattern//gc

此命令将从 光标位置直到第300行 图案在比赛中,你可以打字 “q”表示停止,或“n”表示查找下一个 匹配


如果有标记a和b,则可以使用

/\%>'a\%<'bSearchText
这可以通过cmap简化

cmap vmsab /\%>'a\%<'b
cmap vmscd /\%>'c\%<'d
使用我们可以打开一个临时缓冲区,其中包含我们需要搜索或更改的范围

:900,1000NarrowRegion
然后我们可以进行搜索

/thing
或者更改并写回缓冲区

:%s/this/that/g
:wq

如果要搜索到文件末尾,请使用$:

:3,$s/pattern//gn

这将从3-d线搜索到最后

这对我来说很有效,没有任何即时烦恼。因此,命令>将'debug'附加到从195到208的包含'print'的行中,并且仅附加这些行。也许是版本问题?我在这里使用的是VIM 7.2.330.7.3,它显示按ENTER键或键入command继续。我对vim不够精通,无法判断差异可能来自何处。我看不出这会给卡尔提供的:开始、停止/pattern/s/tgt/repl/pattern增加什么。@chernevik:检查答案的时间戳。^“正确方法”。Vim可以提供许多方法来完成一项任务。尽管这是绝对正确且被接受的答案,但哈比的答案在大多数情况下对我来说更适合视觉范围选择。