2023-12-24 00:02:02 +01:00
|
|
|
local map_list = {
|
2024-04-03 12:48:21 +02:00
|
|
|
-- ["w|"] = ":vsplit", ["w-"] = ":split", -- w| / w- pour créer des splits verticaux et horizontaux
|
|
|
|
-- ["ge"] = ":bprevious", ["gn"] = ":bnext",
|
2024-11-10 15:38:47 +01:00
|
|
|
["W"] = ":w",
|
|
|
|
["<C-t>"] = ":tabnew",
|
2023-12-24 00:02:02 +01:00
|
|
|
}
|
2023-12-24 22:08:52 +01:00
|
|
|
|
|
|
|
local keymap = vim.keymap.set
|
|
|
|
|
2023-12-24 00:02:02 +01:00
|
|
|
for key, binding in pairs(map_list) do
|
2023-12-25 14:29:10 +01:00
|
|
|
keymap("n", key, binding .. "<CR>", { noremap = true, silent = true })
|
2023-12-24 00:02:02 +01:00
|
|
|
end
|
|
|
|
|
2023-12-24 11:26:30 +01:00
|
|
|
-- [[ kickstart.nvim ]]
|
|
|
|
-- Keymaps for better default experience
|
2023-12-24 22:08:52 +01:00
|
|
|
-- See `:help remap()`
|
|
|
|
keymap({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
|
2023-12-24 11:26:30 +01:00
|
|
|
|
|
|
|
-- Remap for dealing with word wrap
|
2023-12-24 22:08:52 +01:00
|
|
|
keymap('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
|
|
|
keymap('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
2023-12-24 11:26:30 +01:00
|
|
|
|
|
|
|
-- Diagnostic keymaps
|
2023-12-24 22:08:52 +01:00
|
|
|
keymap('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' })
|
|
|
|
keymap('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' })
|
|
|
|
keymap('n', '<leader>e', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' })
|
|
|
|
keymap('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' })
|
2023-12-24 11:26:30 +01:00
|
|
|
|
2023-12-25 14:29:10 +01:00
|
|
|
keymap({ "n", "v" }, "<Leader>y", '"+y', { noremap = true, silent = true, desc = "[Y]ank to system clipboard" })
|
|
|
|
keymap({ "n", "v" }, "<Leader>p", '"+p', { noremap = true, silent = true, desc = "[P]ast from system clipboard" })
|
2023-12-24 19:17:20 +01:00
|
|
|
|
|
|
|
-- z0…z9 to open folds to a certain level
|
2023-12-25 14:29:10 +01:00
|
|
|
for i = 0, 9 do
|
|
|
|
keymap('n', 'z' .. i, ':set fdl=' .. i .. '<CR>', { noremap = true, silent = false })
|
2023-12-24 19:17:20 +01:00
|
|
|
end
|
2023-12-24 22:08:52 +01:00
|
|
|
|
|
|
|
-- in :terminal esc exits edit mode
|
2023-12-25 14:29:10 +01:00
|
|
|
keymap('t', '<Esc>', '<C-\\><C-n>', { noremap = true, silent = true })
|
2024-11-29 11:43:01 +01:00
|
|
|
|
|
|
|
-- Markdown scratchpads
|
|
|
|
require('which-key').add({
|
2025-02-10 17:35:59 +01:00
|
|
|
{ "<leader>m", group = "[M]arkdown" },
|
|
|
|
{ "<leader>m_", hidden = true },
|
|
|
|
{ "<leader>sl", group = "[S]pell[Lang]" },
|
2025-02-10 17:06:30 +01:00
|
|
|
{ "<leader>sl_", hidden = true },
|
2024-11-29 11:43:01 +01:00
|
|
|
})
|
|
|
|
|
2025-02-16 22:02:43 +01:00
|
|
|
-- Markdown temp files
|
2024-11-29 12:28:03 +01:00
|
|
|
keymap('n', '<leader>mn', ':e ~/tmp/scratch.md<CR>', { desc = '[M]arkdown [N]ew', noremap = true, silent = true })
|
2025-02-10 17:35:59 +01:00
|
|
|
keymap('n', '<leader>me', ':e ~/tmp/scratch-fr.md<CR>',
|
|
|
|
{ desc = '[M]arkdown new Fr[e]nch', noremap = true, silent = true })
|
2025-02-10 17:06:30 +01:00
|
|
|
|
|
|
|
-- Spellchecking
|
2025-02-10 17:35:59 +01:00
|
|
|
keymap('n', '<leader>st', ':set spell!<CR>', { desc = "Toggle [S]pellcheck", silent = true, noremap = true })
|
|
|
|
keymap('n', '<leader>sle', ':set spelllang=en<CR>',
|
|
|
|
{ desc = "Set [S]pell[L]ang to [E]nglish", silent = true, noremap = true })
|
|
|
|
keymap('n', '<leader>slf', ':set spelllang=fr<CR>',
|
|
|
|
{ desc = "Set [S]pell[L]ang to [F]rench", silent = true, noremap = true })
|
2025-02-16 22:02:43 +01:00
|
|
|
|
|
|
|
-- Toggle hlsearch
|
|
|
|
keymap({ 'n', 'v' }, '<C-l>', ':set hlsearch!<CR>', { silent = true, noremap = true })
|