nvim-surround VS vim-tmux-navigator

Compare nvim-surround vs vim-tmux-navigator and see what are their differences.

nvim-surround

Add/change/delete surrounding delimiter pairs with ease. Written with :heart: in Lua. (by kylechui)

vim-tmux-navigator

Seamless navigation between tmux panes and vim splits (by christoomey)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
nvim-surround vim-tmux-navigator
29 42
2,717 4,938
- -
7.1 3.9
5 days ago 14 days ago
Lua Vim Script
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

vim-tmux-navigator

Posts with mentions or reviews of vim-tmux-navigator. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-27.
  • How would I get the name of the program running in the window that zellij run was ran in?
    2 projects | /r/zellij | 27 Nov 2023
    I'm a tmux migrant and wanted functionality similar to tmux-navigator for vim. In short, it lets me bind the same key combination to change vim splits and tmux scripts that either switch panes or forward the input to the vim plugin that does one of the other. Say you have an empty pane, a pane with vim with two splits and a third pane pane all in a line. The first time the user wants to move focus, vim is not running so the script simply moves focus in tmux. The scond time the user presses the bind, it's passed to vim and the vim plugin sees you have a split to move to so you move focus between splits. The third press the plugin realizes that there are no more panes, so it moves you to the final tmux pane.
  • Navigate between bspwm windows and kitty terminal panes using the same keybinds?
    1 project | /r/bspwm | 23 Jul 2023
    There's also a vim plugin that applies the same idea but with vim windows and tmux panes: https://github.com/christoomey/vim-tmux-navigator.
  • question about mappings
    1 project | /r/neovim | 29 Jun 2023
    Since you're using Tmux check out vim-tmux-navigator which allows for seamless navigation between tmux and (neo)vim panes.
  • termux style🖤
    2 projects | /r/neovim | 21 Apr 2023
    For example, the killer plugin in tmux for me would be vim-tmux-navigator which allows you to switch seemlessly between Vim and tmux. The reason why you would want this is because tmux is a better option than using Vim's built-in terminal.
  • Terminal plugins vs tmux pane
    1 project | /r/neovim | 18 Apr 2023
    With https://github.com/christoomey/vim-tmux-navigator I don't see the need to use Neovim's terminal. Neovim's terminal somehow seems slower and my terminal keybindings didn't quite work.
  • Install plugin in LazyVim
    1 project | /r/neovim | 20 Feb 2023
    Hi, I just installed lazyvim yesterday and want to install the following plugin vim-tmux navigator in lazyvim. I am new to neovim. Any guidance would be very helpful. Thanks.
  • wow: Tmux navigation works out-of-the-box!
    3 projects | /r/AstroNvim | 8 Feb 2023
  • Plugin for following logs?
    2 projects | /r/neovim | 23 Jan 2023
    Might I suggest tmux? You'd get all you needed and there is a nice plugin https://github.com/christoomey/vim-tmux-navigator that lets you set up a single layer of movement keys (i use ctrl-h/j/k/l) to move around between both nvim splits and tmux splits.
  • using nvim + tmux
    6 projects | /r/neovim | 10 Jan 2023
    To begin, you should check out tmux plugins manger/tpm, which will feel pretty familiar if you're used to working with nvim plugins. Once you have that up and running you can plug vim-tmux-navigator, which allows you to move smoothly through tmux and nvim panes using ctrl-h/j/k/l. There are various other tmux plugins that are super-useful for customizing your tmux workspace.
  • Any lua implementation of floaterm
    1 project | /r/neovim | 11 Dec 2022
    Use tmux for terminal management. I honestly held out for a while, but eventually bit the bullet and it’s so nice, I’d never go back. Especially with https://github.com/christoomey/vim-tmux-navigator

What are some alternatives?

When comparing nvim-surround and vim-tmux-navigator you can also consider the following projects:

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

tmux.nvim - A tiny plugin for seamless switching between vim splits and tmux panes

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

iterm2

indent-blankline.nvim - Indent guides for Neovim

i3-resurrect - Simple solution to saving and restoring i3 workspaces

nvim-treesitter-textobjects

tilix - A tiling terminal emulator for Linux using GTK+ 3

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

alpha-nvim - a lua powered greeter like vim-startify / dashboard-nvim

nvim-parinfer - parinfer for Neovim

tmux-suspend - Plugin that lets you suspend local tmux session, so that you can work with nested remote tmux session painlessly.