Add new config

This commit is contained in:
riesjack
2026-03-08 18:36:36 +01:00
parent aaa8c9a592
commit 291e981da1
9 changed files with 142 additions and 0 deletions

24
lua/core/keymaps.lua Normal file
View File

@@ -0,0 +1,24 @@
local keymap = vim.keymap.set
-- Mieux gérer les splits (Fenêtres)
keymap("n", "<leader>v", ":vsplit<CR>", { desc = "Split vertical" })
keymap("n", "<leader>h", ":split<CR>", { desc = "Split horizontal" })
-- Navigation entre les splits avec Ctrl + direction (comme dans tmux)
keymap("n", "<C-h>", "<C-w>h")
keymap("n", "<C-j>", "<C-w>j")
keymap("n", "<C-k>", "<C-w>k")
keymap("n", "<C-l>", "<C-w>l")
-- Gestion des Buffers (les fichiers ouverts)
keymap("n", "<leader>bn", ":bnext<CR>", { desc = "Buffer suivant" })
keymap("n", "<leader>bp", ":bprev<CR>", { desc = "Buffer précédent" })
keymap("n", "<leader>bd", ":bdelete<CR>", { desc = "Fermer le buffer" })
-- Garder le curseur au milieu lors des sauts de page (confort visuel)
keymap("n", "<C-d>", "<C-d>zz")
keymap("n", "<C-u>", "<C-u>zz")
-- Déplacer des blocs de texte en mode Visuel (Alt + j/k)
keymap("v", "J", ":m '>+1<CR>gv=gv")
keymap("v", "K", ":m '<-2<CR>gv=gv")

0
lua/core/options.lua Normal file
View File

27
lua/plugins/lsp.lua Normal file
View File

@@ -0,0 +1,27 @@
return {
{
"williamboman/mason.nvim",
config = function()
require("mason").setup()
end
},
{
"neovim/nvim-lspconfig",
config = function()
-- AU LIEU DE : local lspconfig = require('lspconfig')
-- ON UTILISE DIRECTEMENT L'API 0.11 :
-- Configuration pour Python
vim.lsp.config('pyright', {})
-- Configuration pour C/C++
vim.lsp.config('clangd', {})
-- Configuration pour Bash
vim.lsp.config('bashls', {})
-- Note : Si tu veux ajouter des options spécifiques plus tard,
-- c'est dans le deuxième argument {} qu'on les met.
end
}
}

View File

@@ -0,0 +1,9 @@
return {
'nvim-telescope/telescope.nvim', tag = '0.1.5',
dependencies = { 'nvim-lua/plenary.nvim' },
config = function()
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, {}) -- Recherche fichier
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {}) -- Recherche texte (nécessite ripgrep)
end
}

8
lua/plugins/tree.lua Normal file
View File

@@ -0,0 +1,8 @@
return {
"nvim-tree/nvim-tree.lua",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
require("nvim-tree").setup()
vim.keymap.set('n', '<leader>e', ':NvimTreeToggle<CR>') -- Espace + e pour ouvrir/fermer
end
}

View File

@@ -0,0 +1,17 @@
return {
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
-- On utilise pcall pour éviter de crash si le plugin n'est pas encore là
local status, ts = pcall(require, "nvim-treesitter.configs")
if not status then return end
ts.setup({
ensure_installed = { "lua", "vim", "vimdoc", "bash", "python", "c" },
highlight = { enable = true },
indent = { enable = true },
})
end
}
}

9
lua/plugins/ui.lua Normal file
View File

@@ -0,0 +1,9 @@
return {
-- Thème
{ "catppuccin/nvim", name = "catppuccin", priority = 1000,
config = function() vim.cmd.colorscheme "catppuccin" end },
-- Barre de statut
{ "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" },
config = function() require('lualine').setup() end },
}