Home > Vim Hacks > Hack #60: 検索、マッチング時の大文字と小文字の区別を制御する

Hack #60: 検索、マッチング時の大文字と小文字の区別を制御する

Vim では検索や文字列のマッチングをする際、ローマ字の大文字と小文字を区別するかどうかを様々な方法で制御できます。

'ignorecase'

'ignorecase' オプションが on の時、大文字と小文字の違いは無視されます。 このオプションは通常の検索時以外にも文字列のマッチングが行われる箇所で参照されます。

'smartcase'

'ignorecase' オプションが on の時、検索文字列に大文字が含まれている場合のみ、大文字と小文字を区別します。 これは「わざわざ大文字を指定したのなら区別して欲しいに違いない」という考えから来ています。 'ignorecase' が on の時でも有効です。

\c と \C

パターン中に \c や \C を含めることで大文字小文字の区別を制御できます。 これらが指定された場合、 'ignorecase' 'smartcase' の値は無視されます。

\c を指定すると大文字小文字を無視、\C を指定すると大文字小文字を区別するようになります。 指定する場所は関係なく、パターン内のどこかで指定するとパターン全体に適用されます。

文字列比較

Vim script で文字列を比較する際、比較演算子を使用しますが、使う演算子によって大文字小文字の区別を制御できます。 比較演算子の最後に # を付けると大文字小文字を区別し、? を付けると大文字小文字を無視するような比較になります。

比較の種類'ignorecase' を使う大文字小文字を区別する大文字小文字を無視する
同値 ====#==?
異値 !=!=#!=?
正規表現マッチ =~=~#=~?
正規表現非マッチ!~!~#!~?

この表では省略しましたが、文字列比較には大小関係を比較する > >= < <= もあります。これらにも # と ? を付けたものがそれぞれあります。

thinca
このエントリーをはてなブックマークに追加
はてなブックマーク - Hack #60: 検索、マッチング時の大文字と小文字の区別を制御する
Share on Facebook
Post to Google Buzz
Bookmark this on Google Bookmarks
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://vim-users.jp/2009/08/hack60/trackback/
Listed below are links to weblogs that reference
Hack #60: 検索、マッチング時の大文字と小文字の区別を制御する from Vim-users.jp

Home > Vim Hacks > Hack #60: 検索、マッチング時の大文字と小文字の区別を制御する

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top