neovim for rust
Support for the lsp for neovim
I did my best to use the basic keyboard keys, e.g., Del, Enter, Ins, etc. Similarly, I tried to stick to the traditional text editor keys, e.g., Ctrl-C, Ctrl-V.
When you download, you put a little star, it's free.
Version stable
Because I can't spend all my time configuring an editor... 2 month Because I can't spend all my time configuring an editor... It took me a month to find the right balance and turn it into a real tool.
THANK YOU to the OPEN-SOURCE community,
| Fonctionnalité | implémentation | ||||
|---|---|---|---|---|---|
| ✅ | Rust | nvim-comment plugin | cohérence maximale | ||
| ✅ | Rust | ibl plugin | ¶, tabulations \t | editorconfig | cohérence maximale |
| ✅ | Navigation standard | leader mappings | Ctrl+c/Ctrl+v ...... | Neovims.png | |
| ✅ | Traçabilité | F5 Logs structurés | Déjà intégré à votre workflow | utilisé goto definition | |
| ✅ | Formatage | F2 (cargo fmt) | Standard et rapide | ||
| ✅ | Intégrité du projet | F12 (cargo build check) | Vérification en un clic | dialog | |
| ✅ | Tabulations libres | noexpandtab | tabstop=4 | Respect de vos préférences | |
| ✅ | Gestion des buffers | C-l Purge via raccourcis | Nettoyage facile | ||
| ✅ | Explorateur | C-e fzf | Navigation fluide | ||
| ✅ | Explorateur | C-f fzf hold-file | Navigation fluide | ||
| ✅ | Terminal cohérent | Alacritty or VTE | mêmes couleurs/comportements | Uniformité visuelle | |
| ✅ | Control d'intégrité au demarrage | fonction intégrée | Automatique | dialog | |
| ✅ | Alt-r reference gd Definition | fonction intégrée | utilise grep / refrence | dialog | Intuitif et efficace |
| ✅ | local tempdir | fonction intégrée | "~/.cache/nvim/tmp/tmp_" |
cargo_check_errors Start-up control of the project.
Function: “log” for traceability, or debugging
"F2" active source Format the project, involves automatic saving.
"F12" active source compilation option, to check consistency, involves automatic saving.
"F5" display log
"F7" clear log
"Alt-r" Reference: I use “ripgrep,” which is normally included in your distro.
UTF-8 character consistency
color
statusline
a few gems that gave me a few gray hairs
the name of your source is displayed in the window title
"C-l"Purge all buffers except the current “active source” buffer.
“C-e” directly accesses the explorer via “fzf plugin” and closes buffers without saving them.
“C-f” directly accesses the explorer via “fzf plugin - hold-file” and closes buffers without saving them.
I'm leaving you a source to wrap your Neovim, you can adapt it for terminal applications.(VTE4)
The “LSP” for Rust was configured by Mistral and tested by me, striking a balance between straightness and viability while respecting the route mapped out by Rust.
I deliberately made sure that there were as few plugins as possible (2) and only those necessary for everyday use, and I highlighted the most frequently used functions for programming. “Keep it as simple as possible.”
**Solution for xfce4: does not work properly with clipman for neovim install xclip and parcellite **
2026-02-25 09:45
Support for the new lsp-neovim
restructuring init.lua, for greater readability
I am testing it in real life for everyday use.
**2026-03-01 19:30**
Important information
Setbacks in approaching the F12 function and the control startup function that checks the integrity of the project: first, you have to open the Ntree page in the base project. Neovim will take the underlying structure into account even if you are in your modules, whereas if you skip this and access the controls, you will lose the links. This is only a minor constraint.
Perhaps I should have used plugins, but the goal was to do as little external intervention as possible and use Neovim as much as possible to have an editor that works with Rust. For those who want another LSP, just change the LSP part; the rest is the same.
Translated with DeepL.com (free version)
2026-03-02 20:10 udpate tabulation , goto definition, Reference
2026-03-07 22:30 udpate full, After all the tests, reset “init.lua” and minimum plugin distribution, introduce “fzf,” pipe Neovim sessions, and set up interactive Neovim formatting.
2026-03-07 22:30 test: VTE and alacritty
2026-03-08 15:00 warning Arch neovim NVIM v0.11.6 LuaJIT 2.1.1772619647
update color and plugin ibl and capabilities.workspace
2026-03-13 13:50 warning Arch remove pacman nvim-web-devicons add pluggin nvim-tree/nvim-web-devicons
2026-03-13 13:50 warning Arch remove pacman nvim-web-devicons add pluggin nvim-tree/nvim-web-devicons
2026-03-16 11:50 Improvements to the search function
2026-03-16 18:00 ISorry, I accidentally missed goto line: back in action
2026-03-17 01:15 restructuring, with index deletion notification
2026-03-23 22:25 search_word_interactive ( only ".rs" )
minor -> key.map ('n','Ins') change color
2026-03-30 17:10 add delete line
clear <C-A..Z> function off default
minor -> color notext
2026-04-01 02:30 Hi, I'm happy to report that I updated to NVIM 11 this morning... Anyway, using the schedule feature (UI update), I was able to customize the visual appearance of Insert and Normal modes.
**2026-04-20 18:00** add new line please take a look at neovim.pgn i / n 'o' .
The F12 function has been unraveled, and shows you how to use the concept of dialogue for your errors. I could have unified the global control functions of the project, but I deliberately chose to keep both approaches.
The traceability function, which will help you if you need to track the status of your “init.lua,” has been significantly improved.
I also tried to stick to the scheme proposed by Neovim on how to handle LSP.
Translated with DeepL.com (free version)
config bashrc
alias rust-analyzer="$HOME/.cargo/bin/rust-analyzer"
alias cargo-clippy="cargo clippy --no-deps -- -W clippy::pedantic -A clippy::needless_return"
alias rustfmt="$HOME/.cargo/bin/rustfmt"
. "$HOME/.cargo/env"
My configuration made with Mistral IA
a minimal configuration with 5 plugins, or I would have had to rewrite them, so I prefer to import them. optimized for Rust with a VTE terminal
lspconfig: is the only current model that works with Rust's workspace;
pacman -s jq
pacman -s parcelite
pacman -S xclip
pacman -S xsel
pacman -S greprip
pacman -S bat
pacman -S ttf-fira-code
pacman -S ttf-firacode-nerd
pacman -S neovim
pacman -S alacritty
I wanted to have very few dependencies in my configuration, which is why I downloaded two plugins.
lukas-reineke/indent-blankline.nvim

Statut : validation Terminé (fevrier 2026). Auteur : Jean-Pierre Laroche. Collaboration : Développement initial avec l’assistance technique de Le Chat (Mistral AI), pour la conversion Zig→Rust et l’optimisation des modules.
- Fonctionnel : 90% des modules sont opérationnels (ex:
field.rs,termcom.rs, gestion des décimaux AFNOR/PostgreSQL). - En validation :
- Tests finaux sur les performances de
rust-analyzer(optimisations appliquées). - Validation des conversions Zig→Rust pour les modules critiques (ex:
ZIG_TERM).
- Tests finaux sur les performances de
- Documentation : En cours de finalisation (architecture, exemples d’usage, et notes techniques).
- Le Chat (Mistral AI) :
- Aide à la conversion du code Zig vers Rust (ex: structures
Field, gestion des attributsZoneAttr). - Optimisation des performances de rust-analyzer (réduction des latences pour les gros fichiers).
- Aide à la conversion du code Zig vers Rust (ex: structures


