-- colorise les nbsp -- highlight NbSp ctermbg=lightgray guibg=lightred --hi NbSps ctermbg=lightred guibg=lightred --match NbSps /\%xa0\|\%u202F/ -- bépo vim.opt.listchars:append({nbsp = "·", trail = "¤"}) vim.opt.list = true -- ii devient Esc vim.api.nvim_set_keymap('i', 'ii', '', {noremap = true, silent = true}) -- Y pour copier dans le presse papier vim.api.nvim_set_keymap('', 'Y', '"+y', {}) -- {W} -> [É] -- —————————— -- On remappe W sur É : -- Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W : local keymap = vim.keymap.set local opts = {noremap = true, silent = true} local map_list = {['é'] = 'w', ['É'] = 'W', ['w'] = ''} for key,binding in pairs(map_list) do keymap('n', key, binding, opts) end -- Corollaire: on remplace les text objects aw, aW, iw et iW -- pour effacer/remplacer un mot quand on n’est pas au début (daé / laé). local omap_list = {['aé'] = 'w', ['aÉ'] = 'aW', ['ié'] = 'iw', ['iÉ'] = 'iW'} for key,binding in pairs(omap_list) do keymap('o', key, binding, opts) end -- [HJKL] <-> {CTSR} -- ———————————————— map_list = { ['c'] = 'h', ['r'] = 'l', ['t'] = 'j', ['s'] = 'k', ['C'] = 'H', ['R'] = 'L', ['T'] = 'J', ['S'] = 'K', -- [HJKL] -> [CTSR] ['j'] = 't', ['J'] = 'T', ['l'] = 'c', ['L'] = 'C', ['h'] = 'r', ['H'] = 'R', ['k'] = 's', ['K'] = 'S', -- [CTSR] -> [HJKL]: J = jusqu'à, L = change, h = remplace, k = substitute ['zs'] = 'zj', ['zt'] = 'zk', -- Pour les replis [']k'] = ']s', ['[k'] = '[s' , -- correction orthographique } for key, binding in pairs(map_list) do keymap({'n', 'x'}, key, binding, opts) end -- Désambiguation de {g} -- ————————————————————— -- ligne écran précédente / suivante (à l'intérieur d'une phrase) -- onglets précédent/suivant : gé/gb, premier/dernier onglet : gÉ/gB, -- g" = première ligne de l’écran local map_list = {['gs'] = 'gk', ['gt'] = 'gj', ['gb'] = 'gT', ['gé'] = 'gt', ['gB'] = ':tabfirst', ['gÉ'] = ':tablast', ['g"'] = 'g0', } for key, binding in pairs(map_list) do keymap({'n', 'x'}, key, binding, opts) end -- <> en direct -- ———————————— vim.api.nvim_set_keymap('', '«', '<', {noremap = false, silent = true}) vim.api.nvim_set_keymap('', '»', '>', {noremap = false, silent = true}) -- Chiffres en accès direct -- ———————————————————————— -- À décommenter si on souhaite les avoir --local map_list = { ['"'] = '1', ['1'] = '"', ['«'] = '2', ['2'] = '<', ['»'] = '3', ['3'] = '>', ['('] = '4', ['4'] = '(', [')'] = '5', ['5'] = ')', ['@'] = '6', ['6'] = '@', ['+'] = '7', ['7'] = '+', ['-'] = '8', ['8'] = '-', ['/'] = '9', ['9'] = '/', ['*'] = '0', ['0'] = '*', } --for key, binding in pairs(map_list) do -- vim.api.nvim_set_keymap('', key, binding, { noremap = true, silent = true }) --end -- Remaper la gestion des fenêtres -- ——————————————————————————————— map_list = {['wt'] = 'j', ['ws'] = 'k', ['wc'] = 'h', ['wr'] = 'l', ['wd'] = 'c', ['wo'] = 's', ['wp'] = 'o', ['w'] = ':split', ['w'] = ':vsplit', [''] = '', } for key, binding in pairs(map_list) do vim.api.nvim_set_keymap('', key, binding, {noremap = true, silent = true}) end