Change enclosing quotes in Vim

1.6k Views Asked by At

In Vim, it's a quick 3-character command to change what's inside the current quoted string (e.g., ci"), but is there a simple way to change what type of quotes are currently surrounding the cursor?

Sometimes I need to go from "blah" to """blah""" or "blah" to 'blah' (in Python source code) and I'd ideally like to do it quickly using default key bindings.

2

There are 2 best solutions below

2
On BEST ANSWER

Try the surround.vim plugin. I find it an essential addition to any vim installation.

1
On

Surround.vim is great, but I don't think it'll handle your triple-quoted needs directly.

The way I've done stuff along these lines (when surround wasn't appropriate) was to use %, make the change, then double-backtick to go back to the starting point. E.g. if the cursor is somewhere in a single-quoted string, do f'%, make the change, then double-backtick and ..