防止vim扯掉整条线

时间:2015-10-05 00:39:47

标签: regex

vim中的命令:/ point a /,/ point b / y 允许我在下面的示例中抽取第2行到第4行。但是,我想只选择点a和点b之间的文本而不是整行。

---开始例子---
复制自指向
b点
---结束例子---

我知道这可以使用可视模式或使用标记来实现。但是,我想知道如何使用上面提到的搜索命令等搜索模式。我正在寻找的那个笨拙的文字是这个:

点a 到 b点

此致

2 个答案:

答案 0 :(得分:0)

你可能会追求的是积极的外观+前瞻。

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Responsive table example by Roko CB</title> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <div class="table"> <div class="row hide-xs"> <div>Image</div> <div>Color</div> <div>Sample</div> <div>Desc</div> <div>Price</div> </div> <!-- ROW --> <div class="row"> <!-- CELLS --> <div><img src="//placehold.it/170x80/faf"></div> <div><span class="show-xs">Color:</span> #faf</div> <div><span class="show-xs">Sample:</span> 170x80px</div> <div><span class="show-xs">Desc:</span> Pinky</div> <div><span class="show-xs">Price:</span> 2.13</div> </div> <!-- OK, you got it --> <div class="row"> <div><img src="//placehold.it/170x80/ffa"></div> <div><span class="show-xs">Color:</span> #ffa</div> <div><span class="show-xs">Sample:</span> 170x80px</div> <div><span class="show-xs">Desc:</span> Yelly</div> <div><span class="show-xs">Price:</span> 1.90</div> </div> <div class="row"> <div><img src="//placehold.it/170x80/afa"></div> <div><span class="show-xs">Color:</span> #afa</div> <div><span class="show-xs">Sample:</span> 170x80px</div> <div><span class="show-xs">Desc:</span> Greeny</div> <div><span class="show-xs">Price:</span> 0.90</div> </div> <div class="row"> <div><img src="//placehold.it/170x80/aaf"></div> <div><span class="show-xs">Color:</span> #aaf</div> <div><span class="show-xs">Sample:</span> 170x80px</div> <div><span class="show-xs">Desc:</span> Purply</div> <div><span class="show-xs">Price:</span> 1.00</div> </div> </div> </body> </html> - 正向背后隐藏 - 匹配作为模式的单个实例,该模式继续指定组,但不包括匹配中的组。

(?<=group)pattern - 正向前瞻 - 匹配模式的单个实例,该模式后跟指定的组,但不包括匹配中的组。

示例:

pattern(?=group)

答案 1 :(得分:0)

这应该适合你:

示例文字

copy from point a
to  
point b

命令序列

// '(\_s\|.\)*' Matches line breaks or any character 0 or more times.
/point a\(\_s\|.\)*point b
// (press enter)
// Select the matched result in visual mode.
gn
// Now yank it. 
y 
// Put it somewhere else.
p 
// You get :
// point a
// to
// point b

我认为yank只能在视觉模式下进行这种选择,并且在其他情况下会复制涉及运动的整行。