Add new config
This commit is contained in:
24
lua/core/keymaps.lua
Normal file
24
lua/core/keymaps.lua
Normal 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
0
lua/core/options.lua
Normal file
27
lua/plugins/lsp.lua
Normal file
27
lua/plugins/lsp.lua
Normal 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
|
||||
}
|
||||
}
|
||||
9
lua/plugins/telescope.lua
Normal file
9
lua/plugins/telescope.lua
Normal 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
8
lua/plugins/tree.lua
Normal 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
|
||||
}
|
||||
17
lua/plugins/treesitter.lua
Normal file
17
lua/plugins/treesitter.lua
Normal 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
9
lua/plugins/ui.lua
Normal 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 },
|
||||
}
|
||||
Reference in New Issue
Block a user