You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.4 KiB
Markdown
98 lines
2.4 KiB
Markdown
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'<q>` to change it to
|
|
|
|
<q>Hello world!</q>
|
|
|
|
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<em>`
|
|
|
|
<em>Hello</em> world!
|
|
|
|
Finally, let's try out visual mode. Press a capital V (for linewise
|
|
visual mode) followed by `S<p class="important">`.
|
|
|
|
<p class="important">
|
|
<em>Hello</em> world!
|
|
</p>
|
|
|
|
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](https://github.com/tpope/vim-repeat).
|
|
|
|
Installation
|
|
------------
|
|
|
|
If you don't have a preferred installation method, I recommend
|
|
installing [pathogen.vim](https://github.com/tpope/vim-pathogen), and
|
|
then simply copy and paste:
|
|
|
|
cd ~/.vim/bundle
|
|
git clone git://github.com/tpope/vim-surround.git
|
|
|
|
Once help tags have been generated, you can view the manual with
|
|
`:help surround`.
|
|
|
|
Contributing
|
|
------------
|
|
|
|
See the contribution guidelines for
|
|
[pathogen.vim](https://github.com/tpope/vim-pathogen#readme).
|
|
|
|
Self-Promotion
|
|
--------------
|
|
|
|
Like surround.vim? Follow the repository on
|
|
[GitHub](https://github.com/tpope/vim-surround) and vote for it on
|
|
[vim.org](http://www.vim.org/scripts/script.php?script_id=1697). And if
|
|
you're feeling especially charitable, follow [tpope](http://tpo.pe/) on
|
|
[Twitter](http://twitter.com/tpope) and
|
|
[GitHub](https://github.com/tpope).
|
|
|
|
License
|
|
-------
|
|
|
|
Copyright (c) Tim Pope. Distributed under the same terms as Vim itself.
|
|
See `:help license`.
|