Dotfiles_ArchAP/nvim/.config/nvim
grayTerminal-sh 95ce9f00f1 update
2026-05-30 22:24:26 +02:00
..
lua ajout atuin 2026-05-26 10:50:52 +02:00
.gitignore first commit 2026-05-18 11:51:31 +02:00
.stylua.toml first commit 2026-05-18 11:51:31 +02:00
init.lua ajout atuin 2026-05-26 10:50:52 +02:00
lazy-lock.json update 2026-05-30 22:24:26 +02:00
lazyvim.json first commit 2026-05-18 11:51:31 +02:00
LICENSE.md first commit 2026-05-18 11:51:31 +02:00
readme.md first commit 2026-05-18 11:51:31 +02:00

Neovim config minimal, modulaire, orienté dev

Config Neovim from scratch, en Lua, avec lazy.nvim comme gestionnaire de plugins.
Objectif: un setup léger, lisible, facile à maintenir et à hacker.


Screenshot

FY59 nvim starter

📂 Structure

 tree
.
├── assets
├── init.lua
├── lazy-lock.json
├── lua
│   ├── config
│   │   ├── lazy.lua
│   │   └── maps.lua
│   └── plugins
│       ├── bufferline.lua
│       ├── cmp.lua
│       ├── colorscheme.lua
│       ├── filebrowser.lua
│       ├── gitsign.lua
│       ├── lsp.lua
│       ├── mini-icons.lua
│       ├── mini_map.lua
│       ├── neowiki.lua
│       ├── nvim-autopair.lua
│       ├── nvim-tree.lua.old
│       ├── outline.lua
│       ├── render-markdown.lua
│       ├── starter.lua
│       ├── telescope.lua
│       ├── treesitter.lua
│       ├── ui.lua
│       ├── vim-fugitive.lua
│       └── witch-key.lua
└── readme.md

5 directories, 24 files

  • init.lua : options de base, leader, undo persistant, puis require("config.maps") et require("config.lazy").
  • lua/config/ : configuration générique (lazy, keymaps).
  • lua/plugins/ : un fichier par “gros bloc” de plugins (LSP, UI, Git, notes, etc.).

🔧 Prérequis

  • Neovim ≥ 0.9 (idéalement 0.10+).

  • Git.

    Optionnel mais recommandé sur Arch:

      - tree-sitter-cli (via npm, AUR ou cargo) pour Treesitter. 
      - lua-language-server, pyright (via Mason ou pacman) pour LSP. 
    

Installation

Sauvegarder une éventuelle config existante:

mv ~/.config/nvim ~/.config/nvim.backup-$(date +%s)

Cloner ce repo:

git clone https://github.com/<ton-user>/<ton-repo-nvim>.git ~/.config/nvim

Lancer Neovim:

nvim
lazy.nvim se clone automatiquement.

Les plugins se téléchargent au premier :Lazy sync.

Lancer les checks de santé:

:checkhealth
:checkhealth nvim-treesitter

Fonctionnalités

  1. Base Options Neovim de base (numeros relatifs, indent propre, clipboard système, undo persistant). [web:64][web:272] Keymaps Lua propres (config/maps.lua).

  2. Gestionnaire de plugins folke/lazy.nvim

    avec import modulaire:

    lua
    require("lazy").setup({
      { import = "plugins" },
    }, ...)
  1. UI / Navigation
  • Thème: folke/tokyonight.nvim and catppuccin
  • Statusline : nvim-lualine/lualine.nvim.
  • Tabs / buffers : akinsho/bufferline.nvim
  • Mode buffers, diagnostics LSP dans chaque “onglet”, icône de fermeture par buffer. [web:254][web:256]
  • Fuzzy finder : nvim-telescope/telescope.nvim: ff : find_files (inclut les fichiers cachés). fg : live_grep (avec --hidden).
  • File browser : telescope-file-browser.nvim, mappé sur e.
  1. Syntaxe / Treesitter
  • nvim-treesitter/nvim-treesitter ensure_installed : Lua, Python, Bash, Markdown, Vimscript, etc. Highlight + indent activé
  1. LSP
    • mason.nvim + mason-lspconfig.nvim.
    • nvim-lspconfig avec configuration minimale.
    • lua_ls pour Lua, avec vim en global autorisé.

Mappings LSP globaux :

gd, gr, K, rn, ca, [d, ]d, etc.

  1. Completion
  • hrsh7th/nvim-cmp

Sources: LSP, buffer, path (cmp-nvim-lsp, cmp-buffer, cmp-path).

Mappings : Ctrl-j / Ctrl-k : naviguer. Enter : confirmer (sélection par défaut).

  1. Édition / Confort
  • windwp/nvim-autopairs (InsertEnter).
  • hedyhli/outline.nvim

Keymaps personnalisés :

  • Indent visuel avec Tab / Shift-Tab.
  • Navigation buffers via bufferline (bp, bn, 1..9).
  1. Git (optionnel)
  • lewis6991/gitsigns.nvim pour les signes Git dans la marge.
  • tpope/vim-fugitive
  1. Notes / Wiki
  • echaya/neowiki.nvim comme wiki moderne (successeur de Vimwiki).
  1. starter
  • nvim-mini/mini.starter

Support Markdown + Treesitter, GTD, multiple wikis.

Mappings typiques (configurable) : ww pour ouvrir le wiki, navigation entre pages, tâches, etc.

Keymaps principaux

  • folke/which-key.nvim

  • Leader = Space.

Mini.maps

  • p : show mini.map

Fichiers / Navigation

  • e : file browser Telescope.
  • ff : Telescope find_files.
  • fg : Telescope live_grep.

Buffers

  • bp / bn : buffer précédent / suivant.
  • 1..9 : aller au buffer N (bufferline).

LSP

  • gd : définition.
  • gr : références.
  • K : hover.
  • rn : rename.
  • ca : code action.
  • [d / ]d : diagnostics précédent / suivant.

Édition

  • w : save.
  • q : quit.
  • h : clear search.

En Visuel : Tab / Shift-Tab → indent/désindent la sélection.