diff options
Diffstat (limited to '.config/nvim/init.lua')
-rw-r--r-- | .config/nvim/init.lua | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index fe7ed8f..1c2d070 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -62,16 +62,12 @@ vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' }) vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' }) -vim.keymap.set('n', '<C-v>', 'V', - { desc = 'Enter visual-line mode' }) vim.keymap.set('n', '<leader>h', function() vim.cmd 'split' end, { desc = 'Open a [H]orizontal split' }) vim.keymap.set('n', '<leader>v', function() vim.cmd 'vsplit' end, { desc = 'Open a [V]ertical split' }) vim.keymap.set('n', 'M', ':w! | make<CR>', { desc = 'Run the configured compiler' }) -vim.keymap.set('n', 'V', '<C-v>', - { desc = 'Enter visual-block mode' }) vim.keymap.set('x', '<C-j>', ":m '>+1<CR>gv=gv", { desc = 'Move a selection down a line' }) vim.keymap.set('x', '<C-k>', ":m '<-2<CR>gv=gv", @@ -86,6 +82,16 @@ vim.keymap.set('n', '<leader>T', function() vim.cmd.normal('"zX"zp') end, { desc = '[T]ranspose the current and previous characters' }) vim.keymap.set('n', '-', ':Ex<CR>', { desc = 'Open Netrw' }) +vim.keymap.set('n', 'gJ', function() + vim.cmd [[ + let save = winsaveview() + normal! gJ + if matchstr(getline('.'), '\%' . col('.') . 'c.') =~ '\s' + normal! "_dw + endif + call winrestview(save) + ]] +end, { desc = '[J]oin lines without whitespace' }) vim.keymap.set('n', '<leader>k', function() vim.cmd 'vsplit' @@ -96,6 +102,13 @@ vim.keymap.set('n', '<leader>K', function() mk_scratch_buffer() end, { desc = 'Open the scratch buffer in a horizontal split' }) +if vim.loop.os_uname().sysname ~= 'Darwin' then + vim.keymap.set('n', '<C-v>', 'V', + { desc = 'Enter visual-line mode' }) + vim.keymap.set('n', 'V', '<C-v>', + { desc = 'Enter visual-block mode' }) +end + -- Don’t move the cursor with various commands vim.keymap.set('n', 'J', 'mzJ`z') vim.keymap.set('n', '<C-d>', '<C-d>zz') |