Re:Vim Plugins You Should Know About, Part I: surround.vim
by thomasmallen on Monday December 08, 2008 @09:06AM
(#389836)
<!-- Ugh. Surround is OK, but sucks for wrapping in HTML tags. If I select the line: -->
Hello!
<!-- And use stp (surround selection with <p/>) I get: -->
<p>
Hello!
</p>
<!-- Instead of -->
<p>Hello!</p>
<!-- The workaround? ^v$ which is tedious. I recommend mapping this for those times when you want to wrap the current line quickly in XML tags.
function! TagWrapper()
let a:tag = input("Tag: ")
normal `>
exe "normal a</" . a:tag . ">"
normal `<
exe "normal i<" . a:tag . ">"
endfunction
-->
Re:Vim Plugins You Should Know About, Part I: surround.vim
by thomasmallen on Monday December 08, 2008 @09:31AM
(#389856)
No, the plugin does define stp.
:help Surround
The pattern you have there ("ysiWtp", < is unnecessary, as is >) is actually not thoroughly tested (as mentioned in the docs) and is used when not in a visual selection. In a visual selection, you use "s" followed by what you want to surround with, e.g. s"
Re:Vim Plugins You Should Know About, Part I: surround.vim
by newsycaccount on Monday December 08, 2008 @08:51PM
(#390770)
more on "!":
Run the given cmd/pipeline, and put it's output at the current cursor location:
:r ! <cmd>
Filter the whole buffer through the given cmd/pipeline:
:%! <cmd>
Filter a visual selection through the given cmd/pipeline:
make selection (with mouse if you have :set mouse=a or gvim, or with any of the variations on 'v'), then hit '!'
you will pop into a command line like this:
:'<,'>! <cmd>
'< is the beginning of the visual selection, and '> is the end.
Re:Vim Plugins You Should Know About, Part I: surround.vim
by thamer on Monday December 08, 2008 @09:06AM
(#389835)
I tried this plugin a few days ago, but it seemed to break the s (substitute) command, so I removed it. Does someone know how to make it work?
The problem is the following: Write a line of text, select part of it using v, then press s to remove the selection and enter insert mode to start replacing it. This doesn't work anymore when surround.vim is loaded. Too bad, it sure looks great…
Re:Vim Plugins You Should Know About, Part I: surround.vim
by pkrumins on Monday December 08, 2008 @09:23AM
(#389850)
Try 'R' instead of 's' that you were used to.
OR
Edit surround.vim and comment out the 's' mappings in visual mode. Like this:
" if !hasmapto("<Plug>Vsurround","v")
" if exists(":xmap")
" xmap s <Plug>Vsurround
" else
" vmap s <Plug>Vsurround
" endif
" endif
" if !hasmapto("<Plug>VSurround","v")
" if exists(":xmap")
" xmap S <Plug>VSurround
" else
" vmap S <Plug>VSurround
" endif
" endif
The plugin I wrote about wraps HTML around perfectly. Try:
Or if you knew the tag you were going to wrap your "Hello!" in, then in insert mode you could have pressed:The one I am talking about does not define stp and requires < > between tags.
What does your 'stp' do?
Edit: I see what you did there. You were in visual mode!
Run the given cmd/pipeline, and put it's output at the current cursor location:
Filter the whole buffer through the given cmd/pipeline: Filter a visual selection through the given cmd/pipeline: make selection (with mouse if you have :set mouse=a or gvim, or with any of the variations on 'v'), then hit '!'you will pop into a command line like this:
'< is the beginning of the visual selection, and '> is the end.(Make sure you grab a Python 2.5/gvim--required ATM--build from the link on that page as well.)
The problem is the following: Write a line of text, select part of it using v, then press s to remove the selection and enter insert mode to start replacing it. This doesn't work anymore when surround.vim is loaded. Too bad, it sure looks great…