From 8ecf012d047aceecd0a4dd25d0d750a72c57e5d5 Mon Sep 17 00:00:00 2001 From: Darius Auding <Darius.auding@gmx.de> Date: Fri, 19 May 2023 16:35:07 +0200 Subject: [PATCH] Add <leader>di, <leader>dv, to get more information about the lsp error/telescope search errors Some other quality of life shortcuts having to do with copying and pastinga, moving lines renaming stuff, making a script directly executable updating some options --- lua/codecraft/core/keymaps.lua | 32 +++++++++++++++++++++++++++++++- lua/codecraft/core/options.lua | 4 ++++ lua/codecraft/plugin/lsp/lsp.lua | 2 ++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/lua/codecraft/core/keymaps.lua b/lua/codecraft/core/keymaps.lua index 75355e9..ae06e65 100644 --- a/lua/codecraft/core/keymaps.lua +++ b/lua/codecraft/core/keymaps.lua @@ -7,10 +7,39 @@ map.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true }) map.set('n', '<leader>;', 'A;<ESC>') map.set('n', '<leader>,', 'A,<ESC>') + -- Remap for dealing with word wrap -- map.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) -- map.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) +-- Remaining cursor +map.set('n', 'J', 'mzJ`z') +map.set('n', '<C-d>', '<C-d>zz') +map.set('n', '<C-u>', '<C-u>zz') +map.set('n', 'n', 'nzzzv') +map.set('n', 'N', 'Nzzzv') + +-- COPY PASTE +-- Moving lines +map.set("v", "J", ":m '>+1<CR>gv=gv") +map.set("v", "K", ":m '<-2<CR>gv=gv") +-- Paste and delete to void register +map.set('x', '<leader>p', '"_dP') +map.set({'n', 'v'}, '<leader>y', '"+y') +map.set('n', '<leader>Y', '"+Y') + +-- Deleting to void +map.set({'n', 'v'}, '<leader>d', '"_d') + +-- UTIL +-- replace current word +map.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) +-- make executable +map.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true }) + +-- for vertical escape +map.set('i', '<C-c>', '<ESC>') + -- exit terminal mode map.set('t', '<ESC>', '<C-\\><C-n>') @@ -63,7 +92,7 @@ map.set('n', '<leader><space>', require('telescope.builtin').buffers, { desc = ' map.set('n', '<leader>/', function() -- You can pass additional configuration to telescope to change theme, layout, etc. require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { - winblend = 10, + winblend = 0, previewer = false, }) end, { desc = '[/] Fuzzily search in current buffer]' }) @@ -73,6 +102,7 @@ map.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S] map.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' }) map.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' }) map.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' }) +map.set('n', '<leader>ff', require('telescope.builtin').git_files, { desc = 'Find git files' }) -- UNDOTREE map.set('n', '<leader><F5>', vim.cmd.UndotreeToggle) diff --git a/lua/codecraft/core/options.lua b/lua/codecraft/core/options.lua index f95e9fe..a8d911b 100644 --- a/lua/codecraft/core/options.lua +++ b/lua/codecraft/core/options.lua @@ -44,6 +44,10 @@ o.undofile = true o.ignorecase = true o.smartcase = true +-- UNDODIR +opt.undodir = os.getenv("HOME") .. "/.vim/undodir" +opt.undofile = true + -- Decrease update time o.updatetime = 250 wo.signcolumn = 'yes' diff --git a/lua/codecraft/plugin/lsp/lsp.lua b/lua/codecraft/plugin/lsp/lsp.lua index 5cd5323..1e5fd67 100644 --- a/lua/codecraft/plugin/lsp/lsp.lua +++ b/lua/codecraft/plugin/lsp/lsp.lua @@ -21,6 +21,8 @@ local on_attach = function(_, bufnr) nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame') nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction') + nmap('<leader>di', vim.diagnostic.open_float, '[D]iagnostic [I]nfo') + nmap('<leader>dv', '<cmd>Telescope diagnostics<CR>', '[D]iagnostic [V]iew') nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition') nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') -- GitLab