rust.vim VS refactoring.nvim

Compare rust.vim vs refactoring.nvim and see what are their differences.

rust.vim

Vim configuration for Rust. (by rust-lang)

refactoring.nvim

The Refactoring library based off the Refactoring book by Martin Fowler (by ThePrimeagen)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
rust.vim refactoring.nvim
23 37
3,785 2,442
1.0% -
0.0 8.8
26 days ago about 1 month ago
Vim Script Lua
Apache License 2.0 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.

rust.vim

Posts with mentions or reviews of rust.vim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-05.
  • How to prevent rust-analyzer (rust lsp) from checking code on each save
    2 projects | /r/neovim | 5 Dec 2023
    I am using rustaceanvim and rust.vim.
  • Issue with syntax highlighting in rust with rust-analyzer
    2 projects | /r/neovim | 18 Apr 2023
    When the file first loads, it uses the syntax defined in the $VIMRUNTIME/syntax/rust.vim file from rust.vim, which is what I want, but after a few seconds (probably once rust-analyzer loads and runs), it changes the highlighting to use different colours (there's probably a better way to describe it, but a video is easier to show). This colour change also happens when I write the file (and rust-analyzer runs again).
  • Can’t run specific test via LSP
    3 projects | /r/neovim | 1 Apr 2023
    Or this https://github.com/rust-lang/rust.vim, it has example with running tests
  • Struggling to get basic diagnostic working with LSP
    3 projects | /r/neovim | 5 Dec 2022
    If you need basic syntax checking on leaving insert mode (without saving file), https://github.com/rust-lang/rust.vim can be used
  • Is it possible to have Rust doc test comments highlighted in Neovim?
    2 projects | /r/neovim | 3 Dec 2022
    Seems like there's a tree-sitter solution, but I do want to note that this works out of the box with rust.vim: https://github.com/rust-lang/rust.vim/issues/63. It might be the built-in Rust support is out of date -- using that repo as a plugin would do the trick.
  • Default mappings override user mappings in Rust ( [[ and ]] mappings )
    2 projects | /r/neovim | 28 Sep 2022
    Most of the customizations in the $VIMRUNTIME's rust ftplugin are guarded behind a flag (g:rust_fold, g:rustfmt_autosave,g:rust_recommended_style, etc.) to control enabling and disabling them, but for some reason the navigation mappings are unconditionally defined, with no flag to turn them off... It might be worth going through the issues in https://github.com/rust-lang/rust.vim to see if that ever came up before.
  • Config For rust dev
    8 projects | /r/neovim | 27 Jul 2022
    Is having rust.vim necessary if I'm using rust-tools already?
  • Need help for setting up neovim.
    6 projects | /r/neovim | 25 Jul 2022
    Primeagen has a series, you could also try spacevim or lunarvim( i prefer lunarvim). If you want to read the docs and setup yourself 1. lsp and code completion mentioned in #5. 2. treesitter 3. lsp handles that, you have to install java's lsp, this improves its look. 4. Make your own remaps, some languages have a plugin for this but i can't find one for java, this is the one for rust. 5. Install cmp and one of the snippet engines.
  • Rust with Vim
    1 project | /r/rust | 24 Mar 2022
    writing rust is the same regardless of which editor you use and using vim is the same regardless of what programming language you are in, so i dont think you need a tutorial neccissarily. ive been using this plugin for rust-specific features https://github.com/rust-lang/rust.vim
  • Configure NeoVim for Rust Dev
    3 projects | /r/learnrust | 6 Feb 2022
    As for plugins for Rust development, I’d recommend Conquer of Completion (using the coc-rust-analyser coc plugin), Rust lang’s rust plugin, and the Toml plugin

refactoring.nvim

Posts with mentions or reviews of refactoring.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-11.
  • My 2024 PDE: NeoVim
    2 projects | dev.to | 11 Jan 2024
    Treesitter is a syntax parser that'll build a tree-like structure to enable anything from excellent syntax highlighting through to complex refactoring. There are so many creative ways you can use Treesitter, from jumping around text objects to commenting sections of code, it's a must-have in my books.
  • Refactoring tools
    2 projects | /r/neovim | 13 Jul 2023
    Is there any refactoring plugins for Neovim besides https://github.com/ThePrimeagen/refactoring.nvim?
  • change arguments of a function
    1 project | /r/neovim | 25 Jun 2023
    refactoring.nvim is, that I know of, the closest we have to IDE-like refactoring features such as this, but does not have this feature. It would make C development much nicer imo. Perhaps a feature request there may gain traction.
  • What does it mean if TSNode:has_changes() returns true? (implementation of command-preview for refactoring.nvim)
    1 project | /r/neovim | 30 May 2023
    I'm trying to make a naive implementation of command-preview for refactoring.nvim. Currently, my naive implementation is working (since the changes made to a buffer for previewing are discarded by neovim, I'm executing the plugin regularly in order to preview the changes and when the user submits the command to make the changes).
  • First PR using NeoVim, but need help moving forward
    3 projects | /r/neovim | 30 May 2023
    refactoring.nvim and null-ls.nvim may help
  • In neovim ,how to do refactoring python code?
    5 projects | /r/neovim | 20 Apr 2023
    refactoring.nvim is one option. Unfortunately what powers VSCode is the proprietary PyLance and AFAIK there is no way to "Move symbol to file (method will be moved) [and have imports renamed subsequently]".
  • Discussion: what functionality is Vim missing?
    4 projects | /r/vim | 28 Feb 2023
  • New Plugin: ruby toolkit
    2 projects | /r/neovim | 20 Feb 2023
    Just a heads up, I added a lot of Ruby support in ThePrimeagen's Refactoring.nvim plugin some time ago. Covers a lot of what you've created and has support for lots of other languages too
  • Treesitter query language
    1 project | /r/neovim | 3 Feb 2023
    It's a pain to learn. I used the online playground and also read a lot of the queries from popular plugins. I contributed Ruby support to refactoring.nvim which helped me learn a tonne too
  • neovim-related: Are there good refactor plugin for elixir?
    2 projects | /r/elixir | 22 Dec 2022
    You might be able to take the ruby one and make an elixir one. It uses tree-sitter queries which you would need to align up with the elixir, but the syntax is kinda close. See https://github.com/ThePrimeagen/refactoring.nvim/blob/master/lua/refactoring/treesitter/langs/ruby.lua

What are some alternatives?

When comparing rust.vim and refactoring.nvim you can also consider the following projects:

Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/

nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.

coc-rust-analyzer - rust-analyzer extension for coc.nvim

react-extract.nvim - Neovim plugin for extracting jsx into React component

doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]

pyright - Static Type Checker for Python

YouCompleteMe - A code-completion engine for Vim

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

Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!

nvim-dap-ruby

rusty-tags - Create ctags/etags for a cargo project

neovim - Vim-fork focused on extensibility and usability