2010-02-03 2 views
9

Найти и заменить область действия могут быть ограничены, как это:Как ограничить область поиска в VI/VIM?

:16,256s/search_term/replacement/gc 

Я не хочу, чтобы заменить мой поисковый запрос с любым другим текстом, я просто хочу, чтобы найти их. Я пробовал следующее, но это не помогло:

:16,256/search_term # Notice that there is no 's' here 

Спасибо за ваше время!

ответ

10

Из документации VIM:

Вы можете ограничить команду поиска «/» в определенном диапазоне линий, в том числе \%> л элементов. Например, чтобы соответствовать слову «предел» ниже линий 199 и выше линий 300:>

/\%>199l\%<300llimit 

Это означает: Совпадение ниже линий 199 и до линии 300 и найти слово limit.

+0

Спасибо. Интересно, почему это так сложно. – Srikanth

+0

vimdoc: http://vimdoc.sourceforge.net/htmldoc/pattern.html – 2010-02-03 14:22:15

+0

хорошо, поэтому я проверил его для вас/search_pattern \%> 16l \% <256l найдет слово search_pattern между 16 и 256. Знак% означает поиск всего текста и> lessthan <больше, чем ограничение поиска с флагом 'l' – 2010-02-03 14:25:44

0

Адаптирование @jhwist решение, я считаю, что проще использовать маркеры не забудьте сказать «п» к изменениям, а не идти с конца

:'a,'bs/extrascost//gc 
Смежные вопросы