can3p (can3p) wrote,
can3p
can3p

Category:

Поиск и замена в vim

При всем великолепии vim’а есть еще плюшки, которые не устают радовать глаз. Одна из них – это поиск и замена в файлах.

Искать можно как вперед ( / ), так и назад( ? ), сразу искать слово под курсором( * ), перемещаться по результатам поиска как туда ( n ), так и обратно( N )

С заменой все тоже очень богато. Можно заменять отсюда и до конца строки/параграфа/текста, так же и наоборот, между определенными строками, на определенное количество строк и т.д.(http://vim.wikia.com/wiki/Search_and_replace). Можно заменить в выделенном блоке текста( выделить и нажать v ).

Самое прекрасное – это то, что везде можно использовать регулярные выражения.
Например, в xml файле есть куча тегов <transition>blablabla</transition>, которые занимают несколько строк. Удалить можно одним махом:

:%s/<transition>\_.\{-}<\/transition>//g

Здесь \_ – это любой символ, включая символы новой строки, \{-} – это нежадный аналог оператора * в других диалектах.

Использованная литература:
Regular Expression matching more than a single line in Vim
Vim Regular Expressions


Оригинал: http://blog.dpetroff.ru/tech/vim_search_replace
Tags: vim
Subscribe

  • Непрочитанное

    Внезапно оказалось, что я теперь очень легко недочитываю книги. Вот прямо так, читаю спокойно, и вдруг осознаю по тем или иным причинам, что дальше…

  • Без паники

    Поною. В Нидерландах сейчас какое-то торжество сюрреализма. Местный кабинет министров принимает решения по поводу пандемии не просто так, а на…

  • Спортивно-деструктивное

    В Нидерландах с середины декабря локдаун средней степени унылости. С одной стороны магазины и кафе закрыты, с другой стороны какие-то еще работают.…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments