Need help with vim-surround?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

tpope
8.7K Stars 345 Forks 113 Commits 106 Opened issues

Description

surround.vim: quoting/parenthesizing made simple

Services available

!
?

Need anything else?

Contributors list

surround.vim

Surround.vim is all about "surroundings": parentheses, brackets, quotes, XML tags, and more. The plugin provides mappings to easily delete, change and add such surroundings in pairs.

It's easiest to explain with examples. Press

cs"'
inside
"Hello world!"

to change it to

'Hello world!'

Now press

cs'
to change it to
Hello world!

To go full circle, press

cst"
to get
"Hello world!"

To remove the delimiters entirely, press

ds"
.
Hello world!

Now with the cursor on "Hello", press

ysiw]
(
iw
is a text object).
[Hello] world!

Let's make that braces and add some space (use

}
instead of
{
for no space):
cs]{
{ Hello } world!

Now wrap the entire line in parentheses with

yssb
or
yss)
.
({ Hello } world!)

Revert to the original text:

ds{ds)
Hello world!

Emphasize hello:

ysiw
Hello world!

Finally, let's try out visual mode. Press a capital V (for linewise visual mode) followed by

S

.

Hello world!

This plugin is very powerful for HTML and XML editing, a niche which currently seems underfilled in Vim land. (As opposed to HTML/XML inserting, for which many plugins are available). Adding, changing, and removing pairs of tags simultaneously is a breeze.

The

.
command will work with
ds
,
cs
, and
yss
if you install repeat.vim.

Installation

Install using your favorite package manager, or use Vim's built-in package support:

mkdir -p ~/.vim/pack/tpope/start
cd ~/.vim/pack/tpope/start
git clone https://tpope.io/vim/surround.git
vim -u NONE -c "helptags surround/doc" -c q

Contributing

See the contribution guidelines for pathogen.vim.

Self-Promotion

Like surround.vim? Star the repository on GitHub and vote for it on vim.org.

Love surround.vim? Follow tpope on GitHub and Twitter.

License

Copyright (c) Tim Pope. Distributed under the same terms as Vim itself. See

:help license
.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.