I’ve tried all the surround plugins but what I really want is just the simple flow of: make a selection -> press “, ( etc to surround. Is that not possible with vim?
It’s possible but would be awkward without making significant changes to default key mapping.
"
,,
and(
are all motions by default, using them with a selection means “move one end of the selection to there”.
Even “selection-first” editors like kakoune and helix binds the surround command with a prefix (select → surround operator → symbol). It just works better that way.I have also struggled to remember how the heck to use vim-surround. It doesn’t help that the documentation for pope’s plugins are always sparse and aimed towards experienced people.
There is a alternative called vim-sandwich which has better documentation and better defaults (IMO).
" already means something though (leader to pick a register)
Try the which-key plugin, and/or make up silly stories for your bindings e.g. "you surround a word "
I would recommend just learning the default surround behavior since it’s more versatile. For example
surround -> text-object -> character
,siw)
(surround word in parentheses) can be repeated with.
(dot).Have you tried
mini.surround
module from the most wonderful mini.nvim?my config for it makes it behaves with the exact same keybinds as tpope’s vim surround with extra goodies (highlighting surrounds and lua bracket strings).
P.S. I highly recommend checking out the modules in
mini.nvim
, the maintainer is a great coder and very nice and all hoa modules are top quality and far from “mini” in functionality.