ファイル内のCOPYRIGHTなど、大文字のWordを検索したいのですが。私は検索を実行しようとしました:
/copyright/i # Doesn't work
しかし、うまくいきません。 Perlでは、i
フラグを正規表現に指定すると、正規表現が大文字と小文字を区別しない正規表現に変わることを私は知っています。 Vimには大文字と小文字を区別しない正規表現を示す独自の方法があるようです。
\c
エスケープシーケンスを使用する必要があります。そう:
/\ccopyright
逆の場合(case sensitive matching)、代わりに\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'
検索の前にVimのic
オプションを設定することができます。
:set ic
大文字と小文字を区別する検索に戻るには、次のようにします。
:set noic
ic
はignorecase
の省略形です。
あなたはコマンドを発行することができます
:set ignorecase
それ以降は、検索で大文字と小文字が区別されません。
大文字と小文字を区別する検索と区別しない検索を切り替えるには、このマッピングを.vimrcで使用します。
nmap <F9> :set ignorecase! ignorecase?
他の人が示唆したように:
:set ic
しかし、クールなものはあなたがそのようなモードを切り替えることができます:
:set ic!
このコマンドをあなたのvimrcファイルに書いてください。
set ic
常に大文字と小文字を区別しない検索を行う
あなたのvimrc
でこれらのコマンドを使うことができます:
set ignorecase
- すべての検索で大文字と小文字が区別されませんset smartcase
- 検索に大文字が含まれていると、大文字と小文字が区別されます。ignorecase
が提供するものを使用したい場合は、smartcase
を設定する必要があります。
私は最近 Vimの検索コマンドに関する記事を書いた (両方とも組み込みコマンドと効率的に検索するための最良のプラグイン).
検索文字列の末尾に\c
を使用することを好みます。
/copyright\c
@huyzが言及しているように、望ましい振る舞いは、大文字と小文字を区別しないが大文字と小文字を区別する置換を使用することです。そのための私の解決策:
nnoremap / /\c
nnoremap ? ?\c
/
や?
を押すと、大文字と小文字を区別せずに\c
が追加されます。
デフォルトでignorecase
を設定することができます、これをシェルで実行してください
echo "set ic" >> ~/.vimrc
Vimには2つのモードがあります
1.編集モード
検索は通常モードでも動作します
/\ c 大文字と小文字を区別する
/\ c 検索