In vim, I know I can search with or without case sensitivity. But if I want to search for a string in either upper or lower case, and replace it with a replacement of the same case, is that possible in a single :s///?For example, I want to change these lines:shortShortSHORTtolongLongLONGI can do this in three :s commands, or one insensitive :s and go fix the cases manually, but is there a better way?  A case-preserving search and replace?
Case-preserving search and replace in vim?
vim;search;replace;case sensitivity
There isn't a native feature of :s that does this as far as I know, but if you're willing to install add-ons, you could look at Michael Geddes' keepcase plugin.  