Advertisement
Scroll to top
This post is part of a series called Vim Essential Plugins.
Vim Essential Plugin: EasyMotion
Vim Essential Plugin: Sparkup

Surround.vim, by Tim Pope, is easily one of the most useful plugins available. As the name suggests, it allows you to surround, update, and delete wrapping characters and tags with ease!


Usage

Let's say you have the string "Hello World." If we want to wrap the word, "World," within an <em> tag, we can type: viws<em>. This stands for "move into visual mode, select the inner word, and then surround it with an <em> tag."

1
2
Hello <em>World</em>

But let's say that we later change our mind, and wish to change the wrapping <em> to a <strong> tag instead. With the surround plugin, that's a cinch: cst<strong>. Again, this means: "Change the surround tag to an <strong>."

1
2
Hello <strong>World</strong>

But, ya know, we can never make up our mind. A day later, we decide to remove the wrapping element all together. Rather than using the clumsy mouse to highlight and delete the tags, let's type three characters and be done with it: dst, or delete surrounding tag.

1
2
Hello World

One More Example

Next, let's imagine that we have a word that needs to be wrapped in an anchor tag:

1
2
Link

Well that's an easy one: viws<a href="http://url.com">. Switch to visual mode, select the inner word, and surround it with an anchor tag, which links to url.com.

1
2
<a href="http://url.com">Link</a>

Be sure to review the video for more examples. I guarantee that you'll find this plugin to be one of the most useful extensions available for Vim.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.