1- local opts = { noremap = true , silent = true }
2- local term_opts = { silent = true }
1+ local opts = function (desc )
2+ return { noremap = true , silent = true , desc = desc }
3+ end
34
45local keymap = vim .api .nvim_set_keymap
56
67-- Remap <Space> as leader key
7- keymap (' ' , ' <Space>' , ' <Nop>' , opts )
8+ keymap (' ' , ' <Space>' , ' <Nop>' , opts () )
89vim .g .mapleader = ' '
910vim .g .maplocalleader = ' '
1011
@@ -16,49 +17,54 @@ vim.g.maplocalleader = ' '
1617-- term_mode = "t"
1718-- command_mode = "c"
1819
20+ -- Save
21+ keymap (' n' , ' <D-space>' , ' <cmd> w<CR>' , opts (' Save document' ))
22+
1923-- New Tab
20- keymap (' n' , ' <Leader>tt' , ' <cmd> tabnew<CR>' , opts )
21- keymap (' n' , ' <D-t>' , ' <cmd> tabnew<CR>' , opts ) -- FIXME: Crutch, remove in favour of <Leader>tt
24+ keymap (' n' , ' <Leader>tt' , ' <cmd> tabnew<CR>' , opts ( ' New tab ' ) )
25+ keymap (' n' , ' <D-t>' , ' <cmd> tabnew<CR>' , opts ( ' New tab ' ) ) -- FIXME: Crutch, remove in favour of <Leader>tt
2226
2327-- Set wrap / unwrap
24- keymap (' n' , ' <Leader>ww' , ' <cmd> set wrap!<CR>' , opts )
28+ keymap (' n' , ' <Leader>ww' , ' <cmd> set wrap!<CR>' , opts ( ' Toggle text wrapping ' ) )
2529
2630-- Session (CWD session.vim) management
27- keymap (' n' , ' <Leader>sc' , ' <cmd> mksession! session.vim<CR>' , opts )
28- keymap (' n' , ' <Leader>sr' , ' <cmd> source session.vim<CR>' , opts )
31+ keymap (' n' , ' <Leader>sc' , ' <cmd> mksession! session.vim<CR>' , opts ( ' Write current session to ./session.vim ' ) )
32+ keymap (' n' , ' <Leader>sr' , ' <cmd> source session.vim<CR>' , opts ( ' Restore session from ./session.vim ' ) )
2933
3034-- LSP
31- keymap (' n' , ' <Leader>lr' , ' <cmd> LspRestart<CR>' , opts )
32- keymap (' n' , ' <Leader>le' , ' <cmd> TroubleToggle document_diagnostics<CR>' , opts )
33- keymap (' n' , ' <Leader>lw' , ' <cmd> TroubleToggle workspace_diagnostics<CR>' , opts )
35+ keymap (' n' , ' <Leader>lr' , ' <cmd> LspRestart<CR>' , opts (' Restart LSP server' ))
36+ keymap (' n' , ' <Leader>le' , ' <cmd> TroubleToggle document_diagnostics<CR>' , opts (' Toggle document diagnostic messages' ))
37+ keymap (' n' , ' <Leader>lw' , ' <cmd> TroubleToggle workspace_diagnostics<CR>' , opts (' Toggle workspace diagnostic messages' ))
38+ keymap (' n' , ' <Leader>lf' , ' <cmd> lua vim.lsp.buf.format()<CR>' , opts (' Format current file with null-ls' ))
39+ -- vim.keymap.set('n', '<leader>lf', vim.lsp.buf.format, opts)
3440
3541-- telescope
36- keymap (' n' , ' <C-p>' , ' <cmd> Telescope find_files<CR>' , opts ) -- FIXME: Crutch, remove in favour of <Leader>ff
37- keymap (' n' , ' <Leader>ff' , ' <cmd> Telescope find_files<CR>' , opts )
38- keymap (' n' , ' <Leader>fw' , ' <cmd> Telescope live_grep<CR>' , opts )
42+ keymap (' n' , ' <C-p>' , ' <cmd> Telescope find_files<CR>' , opts ( ' Find files in current workspace ' ) ) -- FIXME: Crutch, remove in favour of <Leader>ff
43+ keymap (' n' , ' <Leader>ff' , ' <cmd> Telescope find_files<CR>' , opts ( ' Find files in current workspace ' ) )
44+ keymap (' n' , ' <Leader>fw' , ' <cmd> Telescope live_grep<CR>' , opts ( ' Find search term in files in current workspace ' ) )
3945
4046-- trouble
4147
4248-- Cursor movement with cmd key (Mac OS)
43- keymap (' n' , ' <D-left>' , ' b' , opts )
44- keymap (' i' , ' <D-left>' , ' b' , opts )
45- keymap (' n' , ' <D-right>' , ' w' , opts )
46- keymap (' i' , ' <D-right>' , ' w' , opts )
49+ keymap (' n' , ' <D-left>' , ' b' , opts ( ' motion: b ' ) )
50+ keymap (' i' , ' <D-left>' , ' b' , opts ( ' motion: b ' ) )
51+ keymap (' n' , ' <D-right>' , ' w' , opts ( ' motion: w ' ) )
52+ keymap (' i' , ' <D-right>' , ' w' , opts ( ' motion: w ' ) )
4753
4854-- Arrow navigation in command line
4955-- cnoremap <C-P> <Up>
5056-- cnoremap <C-N> <Down>
51- keymap (' c' , ' <C-P>' , ' <Up>' , opts )
52- keymap (' c' , ' <C-N>' , ' <Down>' , opts )
57+ -- keymap('c', '<C-P>', '<Up>', opts)
58+ -- keymap('c', '<C-N>', '<Down>', opts)
5359
5460-- increase / decrease / reset font size
55- vim .keymap .set ({ ' n' , ' i' }, ' <D-=>' , function () CHANGE_GUI_FONT_SIZE (1 ) end , opts )
56- vim .keymap .set ({ ' n' , ' i' }, ' <D-->' , function () CHANGE_GUI_FONT_SIZE (- 1 ) end , opts )
57- vim .keymap .set ({ ' n' , ' i' }, ' <D-0>' , function () CHANGE_GUI_FONT_SIZE (0 ) end , opts )
61+ vim .keymap .set ({ ' n' , ' i' }, ' <D-=>' , function () ChangeGuiFontSize (1 ) end , opts () )
62+ vim .keymap .set ({ ' n' , ' i' }, ' <D-->' , function () ChangeGuiFontSize (- 1 ) end , opts () )
63+ vim .keymap .set ({ ' n' , ' i' }, ' <D-0>' , function () ChangeGuiFontSize (0 ) end , opts () )
5864
5965-- Allow clipboard copy paste in neovim
6066vim .g .neovide_input_use_logo = 1
61- keymap (' ' , ' <D-v>' , ' +p<CR>' , opts )
62- keymap (' !' , ' <D-v>' , ' <C-R>+' , opts )
63- keymap (' t' , ' <D-v>' , ' <C-R>+' , opts )
64- keymap (' v' , ' <D-v>' , ' <C-R>+' , opts )
67+ keymap (' ' , ' <D-v>' , ' +p<CR>' , opts () )
68+ keymap (' !' , ' <D-v>' , ' <C-R>+' , opts () )
69+ keymap (' t' , ' <D-v>' , ' <C-R>+' , opts () )
70+ keymap (' v' , ' <D-v>' , ' <C-R>+' , opts () )
0 commit comments