2013年10月21日月曜日

vim で正規表現を使う

簡単に正規表現を使う場合は、\v をつけるとよい。 (very magicをつかう)

例: 行末のスペースを消す

:%s/\v +$//g

ただし。Perlぽい正規表現とは使い方がことなるので注意。 自分は正規表現で最短マッチをよく使います。

例: span タグを検索

/\v\<.{-}span.{-}\>

 最短マッチは{-}を使う

ちなみに。

「\v」を明示しなくても very magic をデフォにする方法

は無さそうです。。。残念。。。

ないですね。set verymagicはあっても良さそうなんですけど。 … - Vim - kana - はてなハイク

代替として.vimrcに下記設定をする方法もあるようです。

:nnoremap / /\v
:cnoremap %s/ %s/\v

vimrc - In vim, is there a way to set “very magic” permanently and globally? - Stack Overflow

でもってさらに。 \zs\ze が超使えそうです。

例: span  div に置換
(上の例のspanタグ検索のspan部分だけをdivにする)

:%s/\v\<.{-}\zsspan\ze.{-}/div/g

このへんのことについて、下記サイトさんがすごく参考になりました。

Vimでパターン検索するなら知っておいたほうがいいこと - derisの日記


なんしか vim たのしい。

enjoy!


Written with StackEdit.

  • この記事をシェアする

  • このエントリーをはてなブックマークに追加
  • このブログの更新をチェックする

  • follow us in feedly