ファイル内の COPYRIGHT など、大文字の単語を検索したいと思います。次のような検索を実行してみました。
/copyright/i # Doesn't work
しかし、うまくいきません。Perl では、i
フラグを正規表現に指定すると、正規表現が大文字と小文字を区別しない正規表現に変わることを知っています。Vim には、大文字と小文字を区別しない正規表現を示す独自の方法があるようです。
ファイル内の COPYRIGHT など、大文字の単語を検索したいと思います。次のような検索を実行してみました。
/copyright/i # Doesn't work
しかし、うまくいきません。Perl では、i
フラグを正規表現に指定すると、正規表現が大文字と小文字を区別しない正規表現に変わることを知っています。Vim には、大文字と小文字を区別しない正規表現を示す独自の方法があるようです。
\c
パターン内のどこでもエスケープ シーケンスを使用できます。例えば:
/\ccopyright
または/copyright\c
または/copyri\cght
逆 (大文字と小文字を区別する一致)を行うには、\C
代わりに (大文字の C) を使用します。
との提案だけでなく、私は非常に便利だ\c
とignorecase
思います。smartcase
大文字を含むものを検索すると、大文字と小文字が区別されます。純粋に小文字で検索すると、大文字と小文字を区別しない検索が実行されます。これを使用\c
し\C
てオーバーライドできます。
:set ignorecase
:set smartcase
/copyright " Case insensitive
/Copyright " Case sensitive
/copyright\C " Case sensitive
/Copyright\c " Case insensitive
見る:
:help /\c
:help /\C
:help 'smartcase'
ic
検索の前に Vim でオプションを設定できます。
:set ic
大文字と小文字を区別する検索に戻るには、次を使用します。
:set noic
ic
の省略形ですignorecase
コマンドを発行できます
:set ignorecase
その後、検索では大文字と小文字が区別されなくなります。
大文字と小文字を区別する検索と区別しない検索を切り替えるには、.vimrcでこのマッピングを使用します
nmap <F9> :set ignorecase! ignorecase?
このコマンドをvimrcファイルに入れます
set ic
常に大文字と小文字を区別しない検索を行う
@huyzが言及しているように、大文字と小文字を区別しない検索を使用するが、大文字と小文字を区別する置換を使用することが望ましい動作である場合があります。そのための私の解決策:
nnoremap / /\c
nnoremap ? ?\c
それを常にヒット/
すると、大文字と小文字を区別しない検索?
が追加されます。\c
いくつかの重要な情報。vim のコマンドについて詳しく知りたい場合は、以下で説明するように、次の手順を試してみてください。
:help ignorecase
:q
提供された情報が誰かの役に立てば幸いです。
よろしくお願いします、