nvim-surround VS indent-blankline.nvim

Compare nvim-surround vs indent-blankline.nvim and see what are their differences.

nvim-surround

Add/change/delete surrounding delimiter pairs with ease. Written with :heart: in Lua. (by kylechui)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
nvim-surround indent-blankline.nvim
29 71
2,693 3,748
- -
7.1 8.5
16 days ago about 1 month ago
Lua Lua
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of nvim-surround. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-30.
  • An opinionated article about vim
    6 projects | dev.to | 30 Jun 2023
    (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?
    2 projects | /r/neovim | 6 Jun 2023
    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
    1 project | /r/neovim | 15 Mar 2023
    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
    1 project | /r/neovim | 5 Mar 2023
    Thanks! I was using nvim-surround, but I didn't check dit
  • Can I separate `v` and `vi/va` like Helix?
    3 projects | /r/neovim | 24 Feb 2023
    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
    2 projects | /r/nvim | 31 Jan 2023
    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
    5 projects | /r/neovim | 13 Jan 2023
    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?
    1 project | /r/neovim | 2 Jan 2023
    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!
    2 projects | /r/neovim | 31 Dec 2022
    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
    2 projects | /r/neovim | 8 Dec 2022
    this might actually be a better surround plugin for surround https://github.com/kylechui/nvim-surround

indent-blankline.nvim

Posts with mentions or reviews of indent-blankline.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-07.

What are some alternatives?

When comparing nvim-surround and indent-blankline.nvim you can also consider the following projects:

vim-sandwich - Set of operators and textobjects to search/select/edit sandwiched texts.

indentLine - A vim plugin to display the indention levels with thin vertical lines

mini.nvim - Library of 35+ independent Lua modules improving overall Neovim (version 0.7 and higher) experience with minimal effort

nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead

nvim-treesitter-textobjects

nvim-treesitter - Nvim Treesitter configurations and abstraction layer

vim-surround - surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease

indent-guides.nvim

nvim-parinfer - parinfer for Neovim

nvim-treesitter-refactor - Refactor module for nvim-treesitter

toggleterm.nvim - A neovim lua plugin to help easily manage multiple terminal windows

tree-sitter - An incremental parsing system for programming tools