nvim-surround
mini.surround
nvim-surround | mini.surround | |
---|---|---|
29 | 3 | |
2,843 | 246 | |
- | - | |
7.6 | 6.3 | |
7 days ago | 22 days ago | |
Lua | Lua | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nvim-surround
-
An opinionated article about vim
(Neo)vim supports plugins, which make your code editor much better. You need a faster way to comment stuff? Sure, here is nvim-comment. Now you need a better tool to surround text by certain characters? Alright, we also have nvim-surround. And this goes on for almost everything you ever needed. And in the rare case that you can't find a plugin for what you need: Write it yourself! It's very easy to write plugins, as vim and neovim both have a lot of functions that help with writing those.
-
Using Floaterm, what's the best way to toggle between the editor and opened window and maintain the shell session?
So, I've been using floaterm and I like it a lot so far! But my ideal workflow would look like this
-
How to know what is "surrounding" a piece of text
My guess would be to save the current location of the cursor, then iterate through all possible motions you want, i.e. a[, at, etc. After each time your operator marks get updated and you can save those locations, before resetting the cursor position to the original spot. Finally, take the innermost/closest pair of marks to be your selection. That would be my guess at least, I think your question is similar to how aliases are implemented in nvim-surround.
-
Efficient way to delete highlighted text
Thanks! I was using nvim-surround, but I didn't check dit
-
Can I separate `v` and `vi/va` like Helix?
Oh sorry I forgot to add additional context. I already have keymaps that starts with m but not dealing visual mode. For example, I'm using ms, mr, md for nvim-surround. That is why I'm trying to map mi and ma, not just m for entering visual mode.
-
Automatically encapsulate or surround existing code with symbol pair
I'm trying out https://github.com/kylechui/nvim-surround (maybe a Lua port of that same plugin) and it it seems very capable. With some remapped shortcuts I think I can bend it to my will. Thanks!
-
markdowny.nvim
The other plugin that can do this is kylechui/nvim-surround. Not sure how to set it up, though.
-
Vimtex feature or a script for wrapping a word in a latex command?
You could probably use a surround plugin like nvim-surround and then have an ftplugin that uses the buffer_setup function to create a custom surround.
-
ns-textobject.nvim update! Smater, more useful!
require("ns-textobject").setup({}) -- from https://github.com/kylechui/nvim-surround/discussions/53#discussioncomment-3134891 require("nvim-surround").buffer_setup({ surrounds = { ["l"] = { add = function() local clipboard = vim.fn.getreg("+"):gsub("\n", "") return { { "[" }, { "](" .. clipboard .. ")" }, } end, find = "%b[]%b()", delete = "^(%[)().-(%]%b())()$", change = { target = "^()()%b[]%((.-)()%)$", replacement = function() local clipboard = vim.fn.getreg("+"):gsub("\n", "") return { { "" }, { clipboard }, } end, }, }, },
-
NeoVim as IDE
this might actually be a better surround plugin for surround https://github.com/kylechui/nvim-surround
mini.surround
-
Lazy.nvim: plugin configuration
Here is an example of a plugin spec for the plugin mini.surround.
-
NeoVim as IDE
plugin for action surround with
-
which surround plugin do you use?
If 'mini.surround' being a part of 'mini.nvim' plugin was a deal-breaker for somebody, it can now be installed as a standalone plugin (thanks to new dual distribution model).
What are some alternatives?
vim-sandwich - Set of operators and textobjects to search/select/edit sandwiched texts.
mini.ai - Neovim Lua plugin to extend and create `a`/`i` textobjects. Part of 'mini.nvim' library.
mini.nvim - Library of 40+ independent Lua modules improving overall Neovim (version 0.8 and higher) experience with minimal effort
mini.align - Neovim Lua plugin to align text interactively. Part of 'mini.nvim' library.
indent-blankline.nvim - Indent guides for Neovim
mini.pairs - Neovim Lua plugin to automatically manage character pairs. Part of 'mini.nvim' library.
nvim-treesitter-textobjects
mini.comment - Neovim Lua plugin for fast and familiar per-line commenting. Part of 'mini.nvim' library.
vim-surround - surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease
leap.nvim - Neovim's answer to the mouse 🦘
nvim-parinfer - parinfer for Neovim
mini.splitjoin - Neovim Lua plugin to split and join arguments. Part of 'mini.nvim' library.