Vim tip: Stop escaping slashes

If you do a lot of search & replace in Vim, eventually you’ll end up escaping a lot of slashes. Whenever you have to replace a path, for example. Isn’t that annoying? After a couple of levels you end up with a horrible “\/path\/to\/foo\/bar” pattern. And if you miss an escape slash, good luck. It’s better to scrap the whole thing and start over.

Luckily, when you are using the ‘s’earch command you can pick a different separator. Instead of typing “%s/\/foo\/bar\/baz\//foo\/bar\//g”, you can simply type “%s#/foo/bar/baz/#foo/bar/#g”. Vim will automagically detect you want to use ‘#’ as a delimiter, and you’ll end up with a much more readable pattern.

Extra tip: this also works in sed

Advertisements


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s