up
This commit is contained in:
24
lua/custom/keymaps/buffers.lua
Normal file
24
lua/custom/keymaps/buffers.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
-- Neo-tree mappings
|
||||
--
|
||||
|
||||
local wk = require 'which-key'
|
||||
local neotree_helper = require 'custom.plugins.neotree-helper'
|
||||
local bufremove = require 'mini.bufremove'
|
||||
|
||||
wk.add {
|
||||
mode = { 'n', 'v', 'i' },
|
||||
{ '<leader>b', group = '[B]uffers' }, -- group
|
||||
{ '<leader>bc', bufremove.delete, desc = '[C]lose [B]uffer', silent = true },
|
||||
{ '<leader>bl', '<CMD>Neotree buffers<CR>', desc = '[L]ist open [B]uffers', silent = true },
|
||||
{ '<leader>bs', '<CMD>source %<CR>', desc = '[B]uffer [S]ource', silent = true },
|
||||
{ '<leader>bw', '<CMD>w<CR>', desc = '[B]uffer [W]rite', silent = true },
|
||||
{ '<leader>bp', '<CMD>bprevious<CR>', desc = '[P]revious [B]uffer', silent = true },
|
||||
{ '<leader>bn', '<CMD>bnext<CR>', desc = '[N]ext [B]uffer', silent = true },
|
||||
{ '<C-PageUp>', '<CMD>bprevious<CR>', desc = '[P]revious [B]uffer', silent = true, hidden = true },
|
||||
{ '<C-PageDown>', '<CMD>bnext<CR>', desc = '[N]ext [B]uffer', silent = true, hidden = true },
|
||||
{ '<C-c>', bufremove.delete, desc = '[C]lose [B]uffer', silent = true, hidden = true },
|
||||
{ '<C-s>', '<CMD>w<CR>', desc = 'Save buffer', silent = true, hidden = true },
|
||||
}
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
@@ -7,20 +7,9 @@ local bufremove = require 'mini.bufremove'
|
||||
|
||||
wk.add {
|
||||
mode = { 'n', 'v' },
|
||||
{ '<leader>F', group = 'Fichier' }, -- group
|
||||
{ '<leader>Fe', neotree_helper.smart_open, desc = 'Parcourir fichiers' },
|
||||
{ '<leader>Fc', bufremove.delete, desc = 'Fermer buffer', silent = true },
|
||||
{ '<leader>Fl', '<CMD>Neotree buffers<CR>', desc = 'Buffers ouverts', silent = true },
|
||||
{ '<leader>Fr', '<CMD>source %<CR>', desc = 'Recharger buffer', silent = true },
|
||||
{ '<leader>Fs', '<CMD>w<CR>', desc = 'Sauver buffer', silent = true },
|
||||
{ '<leader>Fp', '<CMD>bprevious<CR>', desc = 'Buffer précédent', silent = true },
|
||||
{ '<leader>Fn', '<CMD>bnext<CR>', desc = 'Buffer suivant', silent = true },
|
||||
{ '<C-PageUp>', '<CMD>bprevious<CR>', desc = 'Buffer précédent', silent = true, hidden = true },
|
||||
{ '<C-PageDown>', '<CMD>bnext<CR>', desc = 'Buffer suivant', silent = true, hidden = true },
|
||||
-- { '<F5>', '<CMD>source %<CR>', desc = 'Recharger buffer', silent = true, hidden = true },
|
||||
{ '<C-s>', '<CMD>w<CR>', desc = 'Sauver buffer', silent = true, hidden = true },
|
||||
{ '<C-c>', bufremove.delete, desc = 'Fermer buffer', silent = true, hidden = true },
|
||||
{ '<C-o>', neotree_helper.smart_open, desc = 'Parcourir fichiers', silent = true, hidden = true },
|
||||
-- { '<leader>f', group = '[F]iles' }, -- group
|
||||
{ '<leader>f', neotree_helper.smart_open, desc = 'Open file' },
|
||||
{ '<C-o>', neotree_helper.smart_open, desc = 'Open file', silent = true, hidden = true },
|
||||
}
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
|
||||
@@ -5,7 +5,7 @@ local wk = require 'which-key'
|
||||
|
||||
wk.add {
|
||||
mode = { 'n', 'v', 'i' },
|
||||
{ '<leader>q', '<CMD>qall<CR>', desc = 'Quitter', silent = true },
|
||||
{ '<C-q>', '<CMD>qall<CR>', desc = 'Quitter', silent = true },
|
||||
}
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
|
||||
require 'custom.keymaps.nop'
|
||||
require 'custom.keymaps.general'
|
||||
require 'custom.keymaps.buffers'
|
||||
require 'custom.keymaps.files'
|
||||
require 'custom.keymaps.edit'
|
||||
require 'custom.keymaps.display'
|
||||
require 'custom.keymaps.quarto'
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
|
||||
13
lua/custom/keymaps/quarto.lua
Normal file
13
lua/custom/keymaps/quarto.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
-- Quarto mappings
|
||||
--
|
||||
|
||||
local wk = require 'which-key'
|
||||
|
||||
wk.add {
|
||||
mode = { 'n', 'v', 'i' },
|
||||
{ '<leader>q', group = '[Q]uarto' }, -- group
|
||||
{ '<leader>qp', '<CMD>QuartoPreview<CR>', desc = '[Q]uarto [P]review' },
|
||||
}
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
17
lua/custom/plugins/keymaps-helper.lua
Normal file
17
lua/custom/plugins/keymaps-helper.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
-- Keymapping helper module
|
||||
--
|
||||
|
||||
local M = {}
|
||||
|
||||
local function map(mode, key, func, opts)
|
||||
vim.keymap.set(mode, key, func, opts)
|
||||
end
|
||||
|
||||
function M.nmap(key, effect, desc)
|
||||
map('n', key, effect, { silent = true, noremap = true, desc = desc })
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
@@ -30,10 +30,11 @@ function M.smart_open()
|
||||
vim.cmd('Neotree toggle reveal=false position=float dir=' .. vim.fn.expand '~')
|
||||
-- Si c'est un fichier réel, révéler le fichier dans l'arborescence
|
||||
elseif is_real_file and bufname ~= '' then
|
||||
vim.cmd 'Neotree position=left reveal=true'
|
||||
-- Sinon, ouvrir dans le répertoire de travail courant
|
||||
vim.cmd('Neotree toggle position=left reveal=true dir=' .. vim.fn.expand '%:p:h')
|
||||
-- vim.cmd 'Neotree position=left reveal=true'
|
||||
-- Sinon, ouvrir dans le répertoire de travail courant
|
||||
else
|
||||
vim.cmd('Neotree position=left reveal_force_cwd=true dir=' .. vim.fn.getcwd())
|
||||
vim.cmd('Neotree toggle position=left reveal_force_cwd=true dir=' .. vim.fn.getcwd())
|
||||
end
|
||||
end
|
||||
|
||||
@@ -85,4 +86,3 @@ return M
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
||||
|
||||
-- Diagnostic keymaps
|
||||
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
|
||||
-- vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
|
||||
|
||||
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
|
||||
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
|
||||
@@ -38,4 +38,5 @@ vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper win
|
||||
-- vim.keymap.set("n", "<C-S-k>", "<C-w>K", { desc = "Move window to the upper" })
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@ require('lazy').setup({
|
||||
'NMAC427/guess-indent.nvim', -- Detect tabstop and shiftwidth automatically
|
||||
|
||||
require 'kickstart.plugins.mini',
|
||||
require 'kickstart.plugins.snacks', -- for use with neo-tree
|
||||
require 'kickstart.plugins.noice',
|
||||
require 'kickstart.plugins.treesitter',
|
||||
require 'kickstart.plugins.telescope',
|
||||
require 'kickstart.plugins.neo-tree',
|
||||
require 'kickstart.plugins.snacks',
|
||||
require 'kickstart.plugins.treesitter',
|
||||
require 'kickstart.plugins.lsp',
|
||||
require 'kickstart.plugins.autopairs',
|
||||
require 'kickstart.plugins.autoformat',
|
||||
|
||||
@@ -8,12 +8,12 @@ return {
|
||||
cmd = { 'ConformInfo' },
|
||||
keys = {
|
||||
{
|
||||
'<leader>f',
|
||||
'<leader>bf',
|
||||
function()
|
||||
require('conform').format { async = true, lsp_format = 'fallback' }
|
||||
end,
|
||||
mode = '',
|
||||
desc = '[F]ormat buffer',
|
||||
desc = '[F]ormat [B]uffer',
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
@@ -42,4 +42,5 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -42,12 +42,12 @@ return {
|
||||
evaluate_single = true,
|
||||
header = table.concat(logo.neovim1, '\n'),
|
||||
items = {
|
||||
{ action = 'edit ~/.config/nvim/init.lua', name = ' Configuration', section = 'Configuration' },
|
||||
{ action = 'Telescope find_files', name = ' Rechercher fichier', section = 'Telescope' },
|
||||
{ action = 'Telescope oldfiles', name = ' Fichiers récents', section = 'Telescope' },
|
||||
{ action = 'Telescope live_grep', name = ' Rechercher texte', section = 'Telescope' },
|
||||
{ action = 'e .', name = ' Ouvrir', section = 'Fichiers' },
|
||||
{ action = 'qa', name = ' Quitter', section = 'Quitter' },
|
||||
{ action = 'Neotree reveal=true position=float dir=~/.config/nvim/', name = ' Configuration', section = 'General' },
|
||||
{ action = 'e .', name = ' Open', section = 'Files' },
|
||||
{ action = 'Telescope find_files', name = ' Find file', section = 'Files' },
|
||||
{ action = 'Telescope oldfiles', name = ' Recent files', section = 'Files' },
|
||||
{ action = 'Telescope live_grep', name = ' Find text', section = 'Files' },
|
||||
{ action = 'qa', name = ' Quit', section = 'General' },
|
||||
},
|
||||
content_hooks = {
|
||||
require('mini.starter').gen_hook.adding_bullet ' ',
|
||||
@@ -64,7 +64,7 @@ return {
|
||||
commenter.setup {
|
||||
mappings = {
|
||||
comment = '<leader>c',
|
||||
comment_line = '<leader>cl',
|
||||
comment_line = '<leader>c',
|
||||
comment_visual = '<leader>c',
|
||||
textobject = '<leader>c',
|
||||
},
|
||||
|
||||
@@ -4,72 +4,82 @@
|
||||
local neotree_helper = require 'custom.plugins.neotree-helper'
|
||||
|
||||
return {
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
version = '*',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
|
||||
'MunifTanjim/nui.nvim',
|
||||
'folke/snacks.nvim', -- optional for image preview
|
||||
'saifulapm/neotree-file-nesting-config', -- optional for VSCode like file nesting
|
||||
},
|
||||
lazy = false,
|
||||
keys = {
|
||||
-- { '<C-o>', ':Neotree reveal<CR>', desc = 'NeoTree reveal', silent = true },
|
||||
},
|
||||
opts = {
|
||||
hide_root_node = true, -- recommanded config for VSCode like file nesting
|
||||
retain_hidden_root_indent = true, -- recommanded config for VSCode like file nesting
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
show_hidden_count = false, -- recommanded config for VSCode like file nesting
|
||||
never_show = { -- recommanded config for VSCode like file nesting
|
||||
'.DS_Store',
|
||||
},
|
||||
},
|
||||
window = {
|
||||
mappings = {
|
||||
['<C-o>'] = {
|
||||
'close_window',
|
||||
desc = 'close neo-tree',
|
||||
},
|
||||
['d'] = {
|
||||
'trash',
|
||||
desc = 'trash file',
|
||||
{
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
version = '*',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
|
||||
'MunifTanjim/nui.nvim',
|
||||
'folke/snacks.nvim', -- optional for image preview
|
||||
'saifulapm/neotree-file-nesting-config', -- optional for VSCode like file nesting
|
||||
},
|
||||
lazy = false,
|
||||
keys = {
|
||||
-- { '<C-o>', ':Neotree toggle reveal<CR>', desc = 'NeoTree reveal', silent = true },
|
||||
},
|
||||
opts = {
|
||||
hide_root_node = true, -- recommanded config for VSCode like file nesting
|
||||
retain_hidden_root_indent = true, -- recommanded config for VSCode like file nesting
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
show_hidden_count = false, -- recommanded config for VSCode like file nesting
|
||||
never_show = { -- recommanded config for VSCode like file nesting
|
||||
'.DS_Store',
|
||||
},
|
||||
},
|
||||
window = {
|
||||
mappings = {
|
||||
-- ['<C-o>'] = {
|
||||
-- 'close_window',
|
||||
-- desc = 'close neo-tree',
|
||||
-- },
|
||||
['d'] = {
|
||||
'trash',
|
||||
desc = 'trash file',
|
||||
},
|
||||
['P'] = {
|
||||
'toggle_preview',
|
||||
desc = 'preview image',
|
||||
config = {
|
||||
use_float = false,
|
||||
use_snacks_image = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
commands = {
|
||||
trash = neotree_helper.trash,
|
||||
trash_visual = neotree_helper.trash_visual,
|
||||
},
|
||||
},
|
||||
commands = {
|
||||
trash = neotree_helper.trash,
|
||||
trash_visual = neotree_helper.trash_visual,
|
||||
-- recommanded config for VSCode like file nesting
|
||||
default_component_configs = {
|
||||
indent = {
|
||||
with_expanders = true,
|
||||
expander_collapsed = '',
|
||||
expander_expanded = '',
|
||||
},
|
||||
},
|
||||
event_handlers = {
|
||||
{
|
||||
event = 'file_opened',
|
||||
handler = function()
|
||||
-- auto close
|
||||
-- vim.cmd 'Neotree close'
|
||||
-- or
|
||||
require('neo-tree.command').execute { action = 'close' }
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
-- recommanded config for VSCode like file nesting
|
||||
default_component_configs = {
|
||||
indent = {
|
||||
with_expanders = true,
|
||||
expander_collapsed = '',
|
||||
expander_expanded = '',
|
||||
},
|
||||
},
|
||||
event_handlers = {
|
||||
{
|
||||
event = 'file_opened',
|
||||
handler = function()
|
||||
-- auto close
|
||||
-- vim.cmd 'Neotree close'
|
||||
-- or
|
||||
require('neo-tree.command').execute { action = 'close' }
|
||||
end,
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
-- Adding rules from plugin
|
||||
opts.nesting_rules = require('neotree-file-nesting-config').nesting_rules
|
||||
require('neo-tree').setup(opts)
|
||||
end,
|
||||
},
|
||||
-- recommanded config for VSCode like file nesting
|
||||
config = function(_, opts)
|
||||
-- Adding rules from plugin
|
||||
opts.nesting_rules = require('neotree-file-nesting-config').nesting_rules
|
||||
require('neo-tree').setup(opts)
|
||||
end,
|
||||
}
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
-- Quarto
|
||||
-- https://github.com/quarto-dev/quarto-nvim
|
||||
-- Quarto and other tools to use with
|
||||
-- quarto: https://github.com/quarto-dev/quarto-nvim
|
||||
-- vim-slime: https://github.com/jpalardy/vim-slime
|
||||
-- molten: https://github.com/benlubas/molten-nvim
|
||||
--
|
||||
|
||||
return {
|
||||
{
|
||||
@@ -9,4 +12,96 @@ return {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
},
|
||||
},
|
||||
-- {
|
||||
-- 'jpalardy/vim-slime',
|
||||
-- init = function()
|
||||
-- vim.g.slime_target = 'kitty'
|
||||
-- vim.g.slime_no_mappings = 1
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- 'benlubas/molten-nvim',
|
||||
-- version = '^1.0.0', -- use version <2.0.0 to avoid breaking changes
|
||||
-- dependencies = { '3rd/image.nvim' },
|
||||
-- build = ':UpdateRemotePlugins',
|
||||
-- init = function()
|
||||
-- -- these are examples, not defaults. Please see the readme
|
||||
-- vim.g.molten_image_provider = 'image.nvim'
|
||||
-- vim.g.molten_output_win_max_height = 20
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- '3rd/image.nvim',
|
||||
-- build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239
|
||||
-- opts = {
|
||||
-- backend = 'kitty',
|
||||
-- processor = 'magick_cli', -- or "magick_rock"
|
||||
-- integrations = {
|
||||
-- markdown = {
|
||||
-- enabled = true,
|
||||
-- clear_in_insert_mode = false,
|
||||
-- download_remote_images = true,
|
||||
-- only_render_image_at_cursor = false,
|
||||
-- only_render_image_at_cursor_mode = 'popup',
|
||||
-- floating_windows = false, -- if true, images will be rendered in floating markdown windows
|
||||
-- filetypes = { 'markdown', 'vimwiki', 'quarto' }, -- markdown extensions (ie. quarto) can go here
|
||||
-- },
|
||||
-- neorg = {
|
||||
-- enabled = true,
|
||||
-- filetypes = { 'norg' },
|
||||
-- },
|
||||
-- typst = {
|
||||
-- enabled = true,
|
||||
-- filetypes = { 'typst' },
|
||||
-- },
|
||||
-- html = {
|
||||
-- enabled = false,
|
||||
-- },
|
||||
-- css = {
|
||||
-- enabled = false,
|
||||
-- },
|
||||
-- },
|
||||
-- max_width = nil,
|
||||
-- max_height = nil,
|
||||
-- max_width_window_percentage = nil,
|
||||
-- max_height_window_percentage = 50,
|
||||
-- window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
|
||||
-- window_overlap_clear_ft_ignore = { 'cmp_menu', 'cmp_docs', 'snacks_notif', 'scrollview', 'scrollview_sign' },
|
||||
-- editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
|
||||
-- tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
|
||||
-- hijack_file_patterns = { '*.png', '*.jpg', '*.jpeg', '*.gif', '*.webp', '*.avif' }, -- render image files as images when opened
|
||||
-- },
|
||||
-- },
|
||||
-- {
|
||||
-- 'HakonHarnes/img-clip.nvim',
|
||||
-- event = 'BufEnter',
|
||||
-- ft = { 'markdown', 'quarto', 'latex' },
|
||||
-- opts = {
|
||||
-- -- add options here
|
||||
-- -- or leave it empty to use the default settings
|
||||
-- default = {
|
||||
-- dir_path = 'img',
|
||||
-- },
|
||||
-- filetypes = {
|
||||
-- markdown = {
|
||||
-- url_encode_path = true,
|
||||
-- template = '',
|
||||
-- drag_and_drop = {
|
||||
-- download_images = false,
|
||||
-- },
|
||||
-- },
|
||||
-- quarto = {
|
||||
-- url_encode_path = true,
|
||||
-- template = '',
|
||||
-- drag_and_drop = {
|
||||
-- download_images = false,
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- keys = {
|
||||
-- -- suggested keymap
|
||||
-- { '<leader>p', '<cmd>PasteImage<cr>', desc = 'Paste image from system clipboard' },
|
||||
-- },
|
||||
-- },
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user