大文字小文字を変えずに文字列を置き換えますか?


18

原因私が働いているドメイン固有言語で気まぐれに、私は頻繁に交換する(選択的ではなく、グローバル)のタスクに直面しtermたりTERMwordたりWORD、それぞれ。

つまり、大文字と小文字を区別せずにを検索し、元の大文字/小文字をそのままにして、termそれを置き換えword ますterm

全体の一貫した大文字/小文字termをチェックするのは難しく、実際には必要ないので、大文字/小文字の/を/ の最初の文字で決定することに決めます。wordWORDterm

どうすればこれを達成できますか?


2
それを知らない人のために「選択的に」注意してください:c以下の置換ステートメントの最後に追加するだけで、Vimはすべての一致について尋ねます。
DevSolar

回答:


16

Michaels Geddesのプラグインキープケースには必要なものがすべて揃っています。

:%SubstituteCase/\cterm/word/g

からの他の構文要素:substituteもサポートされています。


5
素晴らしい...これは私のために物事を大幅にスピードアップします。また、「これを実行できるか」と尋ねるのではなく、「どのように実行するだけを尋ねていることにも気付きました。ようやくVimに「到着」したようです。:-D
DevSolar

16

これ:Subvert廃止プラグインから処理できます

かつて、「ファシリティ」と呼ばれるドメインモデルを備えたアプリケーションを作成しましたが、「モデル」に名前を変更する必要がありました。それで、単純な検索と置換ですよね?

:%s/facility/building/g

ああ、しかし、ケースのバリエーション!

:%s/Facility/Building/g
:%s/FACILITY/BUILDING/g

待ってください。複数形は「s」以上なので、それも取得する必要があります。

:%s/facilities/buildings/g
:%s/Facilities/Buildings/g
:%s/FACILITIES/BUILDINGS/g

Abolish.vimにはあなたの背中があります。6つすべてを実行する1つのコマンドで、&でも繰り返すことができます!

:%Subvert/facilit{y,ies}/building{,s}/g

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.