我知道使用Vim的替换命令可以指定一系列行:
:12,24s/search/replace
我希望能够指定正常搜索范围。像
这样的东西:12,24/search
因为这似乎不起作用(至少在我的Vim配置上),有人知道如何实现这个目标吗?
谢谢。
答案 0 :(得分:35)
akira的答案很棒。但经过一番挖掘,我找到了另一种选择。它并不优雅,但更容易输入:
:12,24g/search/
这会给你一个恼人的提示,但它会在包含所搜索字符串的范围内的第一行结束。
答案 1 :(得分:29)
:help search-range
然后
:help /\%>l
基本上是这样的:
/\%>12l\%<24lsearch
答案 2 :(得分:19)
你真的需要行号吗?另一种方法是可视化地选择范围。
/\%Vwhat_to_search
进行搜索,以搜索之前所选范围内的“what_to_search”。输入的次数较少,但不是直接输入的内容; - )
请参阅:help%V
[编辑]很好,我刚刚了解到搜索范围可以通过选择另一个范围进行搜索后更改,再次通过按ESC并按n重复搜索来取消选择此范围。 Vim真的总是对惊喜有好处。
答案 3 :(得分:16)
继续使用替换命令,但将gc
标记附加到原始示例。
:12,24s/search//gc
来自:help search-range
[要在范围内搜索]使用 “:用'c'代替”命令 旗。
实施例:
:.,300s/Pattern//gc
此命令将从中搜索 光标位置直到第300行为 “图案”。在比赛中,您可以输入 'q'停止,或'n'找到下一个 匹配。
答案 4 :(得分:4)
如果标记出a和b,则可以使用
将搜索限制在a和b之间的区域<?php
return [
/*
|--------------------------------------------------------------------------
| Default Broadcaster
|--------------------------------------------------------------------------
|
| This option controls the default broadcaster that will be used by the
| framework when an event needs to be broadcast. You may set this to
| any of the connections defined in the "connections" array below.
|
| Supported: "pusher", "redis", "log", "null"
|
*/
'default' => env('BROADCAST_DRIVER', 'pusher'),
/*
|--------------------------------------------------------------------------
| Broadcast Connections
|--------------------------------------------------------------------------
|
| Here you may define all of the broadcast connections that will be used
| to broadcast events to other systems or over websockets. Samples of
| each available type of connection are provided inside this array.
|
*/
'connections' => [
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_KEY'),
'secret' => env('PUSHER_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => 'ap1',
'encrypted' => true
],
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
'log' => [
'driver' => 'log',
],
'null' => [
'driver' => 'null',
],
],
];
这可以通过cmap进行简化
/\%>'a\%<'bSearchText
答案 5 :(得分:0)
使用Narrow Region plugin我们可以打开一个临时缓冲区,其中包含我们需要搜索或更改的范围
:900,1000NarrowRegion
然后我们可以进行搜索
/thing
或者改变并写回缓冲区
:%s/this/that/g
:wq
答案 6 :(得分:0)
如果要搜索到文件末尾,请使用$:
:3,$s/pattern//gn
这将从3d行搜索到最后