nvim-treesitter-textobjects
nvim-surround
Our great sponsors
nvim-treesitter-textobjects | nvim-surround | |
---|---|---|
87 | 29 | |
1,880 | 2,677 | |
6.1% | - | |
8.3 | 7.2 | |
6 days ago | 9 days ago | |
Scheme | Lua | |
Apache License 2.0 | 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-treesitter-textobjects
-
Use treesitter to jump to next argument without going into nested function calls?
I was hoping to use nvim-treesitter-textobjects to jump to the next argument via something like this:
-
Code navigation ctags/cscope/gnu global alternative?
You want to look at nvim-treesitter-textobjects. It let's you define keymaps for navigating text objects defined by treesitter and you can also use them with commands like d, c and so on.
-
My Favorite Vim Oneliners for Text Manipulation
Thank you! It looks like nvim-treesitter-textobjects is a good plugin to start with:
https://github.com/nvim-treesitter/nvim-treesitter-textobjec...
-
How to move between the topmost/root node in treesitter?
I'm aware of nvim-treesitter-textobjects and I suspect my answer lies in this plugin, but is there a way to move between root nodes that is agnostic of the node type?
-
Manipulating and moving between function arguments in Neovim
Thanks! I just started using https://github.com/nvim-treesitter/nvim-treesitter-textobjects, and it works as a charm.
-
Searching for plugin to provide granular treesitter visual mode navigation
nvim-treesitter-textobjects
-
Vim Tip - Jump to start of function or code block
In this case, reading here is probably a good start: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
-
Getting v(a|i)B working in Ruby?
Have a look at https://github.com/nvim-treesitter/nvim-treesitter-textobjects. Set up the @block.inner and @block.outer textobjects and it should work.
-
How do you jump to the beginning of a function
nvim-treesitter-textobjects lets you jump to (for instance) functions more accurately than with a regex-based approach using ]f
Or even better, one can use nvim-treesitter-textobjects. It already provides function/class selection and go-to functionality out-of-the-box.
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
What are some alternatives?
vim-multiple-cursors - True Sublime Text style multiple selections for Vim
vim-sandwich - Set of operators and textobjects to search/select/edit sandwiched texts.
nvim-treesitter-refactor - Refactor module for nvim-treesitter
mini.nvim - Library of 35+ independent Lua modules improving overall Neovim (version 0.7 and higher) experience with minimal effort
targets.vim - Vim plugin that provides additional text objects
indent-blankline.nvim - Indent guides for Neovim
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
vim-surround - surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease
vim-textobj-user - Vim plugin: Create your own text objects
nvim-parinfer - parinfer for Neovim
vscode-neovim - Vim mode for VSCode, powered by Neovim
toggleterm.nvim - A neovim lua plugin to help easily manage multiple terminal windows