Pencarian dan ganti case-preserving in vim?

11

Di vim, saya tahu saya dapat mencari dengan atau tanpa sensitivitas huruf besar / kecil. Tetapi jika saya ingin mencari string dalam huruf besar atau kecil, dan menggantinya dengan penggantian huruf yang sama, apakah itu mungkin dalam satu :s///?

Misalnya, saya ingin mengubah baris ini:

short
Short
SHORT

untuk

long
Long
LONG

Saya dapat melakukan ini dalam tiga :sperintah, atau satu tidak sensitif :sdan memperbaiki kasus secara manual, tetapi apakah ada cara yang lebih baik? Pencarian dan penggantian yang mempertahankan kasus?

Kevin
sumber

Jawaban:

3

Tidak ada fitur asli :syang melakukan ini sejauh yang saya tahu, tetapi jika Anda ingin menginstal add-on, Anda bisa melihat plugin keepcase Michael Geddes .

jw013
sumber
3

Anda dapat mencoba plugin ini.

https://github.com/tpope/vim-abolish

Plugin ini dapat membantu Anda untuk mencocokkan tidak hanya teks case-sensitive, juga variannya juga. Suka /good{,ies}akan cocok dengan barang dan barang.

Demikian pula, itu dapat menggantikan dengan case sensitif serta varian yang disertakan.

      :%S/long/short/g

akan menggantikan long dengan short, Long dengan Short, LONG dengan SHORT.

SibiCoder
sumber