can3p (can3p) wrote,
can3p
can3p

Поиск и замена в 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

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments