Skip to content

Ledugus/nvim-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Configuration Neovim

Cette repo contient ma configuration pour Neovim.

Nécessite Neovim >= 0.11

TL;DR

Cette config contient notamment

Installation

Pour trouver l'emplacement de l'installation config_path, ouvrir Neovim et taper la commande :echo stdpath("config"). Ouvrir ensuite un terminal et cloner cette repository dans config_path :

git clone https://github.com/Ledugus/nvim-config.git <config_path>

Comment ça marche

Au lancement, Neovim lit le fichier init.lua dans .config/nvim/. Ce fichier require les fichiers de setup se trouvant dans lua/user/. Le premier est remap.lua, qui enregistre quelques raccourcis. Le second est set.lua qui enregistre des options globales. Le dernier est lazy.lua, le gestionnaire de plugins.

Les plugins sont simplement des tableaux décrivant les options et la fonction config appelée au lancement. Pour ajouter un plugin, il suffit donc de rajouter un fichier lua/user/plugins/my_plugin.lua de la forme :

return {
  "<plugin_path>.nvim", -- see the right path on plugin's official repo
  dependencies = { <all_dependencies> },
  config = function()
    require(<plugin>).setup( { <plugin options> })
    vim.keymap.set("n", "<keymap>", <function_to_call>, {<options>})
  end,
}

Raccourcis

Normal mode :

  • <leader>rp : Save and run current file with Python3.
  • <leader>mm : Save file and compile current class with manim.
  • gd : Go to definition
  • <leader>h : See documentation of current element
  • <leader>vd : View diagnostics on current line
  • <leader>vrr : View references of current element
  • <leader>r : File-wide rename of current element

Visual mode :

  • J : Move all selected lines down
  • K : Move all selected lines up

Support des langages

L'équivalent des extensions de langage dans VSCode est le Language Server Protocol (LSP). Le fichier lsp.lua gère l'installation et la configuration de ces plugins.

Langages supportés actuellement

  • Lua : lua_ls (lsp et linter), stylua (formatter)
  • Python : pyright (lsp), ruff (lsp & linter) et black (formatter)
  • C : clangd (lsp, formatter et linter)
  • Javascript/Typescript : ts_ls (lsp et linter), prettier (formatter)
  • Typst : tinymist (lsp, formatter et linter)

Thème et apparence

Le thème est onedark.

La barre d'état est gérée par le plugin LuaLine.

Plugins

  • Nvim-tree : Explorateur de fichiers amélioré
  • Copilot : Complétion et suggestion
  • Telescope : Recherche rapide dans tout le projet. Raccourcis :
    • <leader>pf : Recherche dans les noms de fichiers
    • <leader>ps : Recherche globale dans tout le projet
  • Harpoon : Quick switcher. Raccourcis
    • <leader>a : Ajouter un fichier
    • <C-e> : Ouvrir le Menu
    • <C-e>, <C-t>, <C-n> : Ouvrir les fichiers 1, 2, 3 respectivement.
  • Autopair : Gestion intelligente des parenthèses
  • ToggleTerm : Fenêtre popup de terminal

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages