mirror of
				https://github.com/amix/vimrc
				synced 2025-10-25 17:13:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			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`.
 | 
