local map = vim.keymap.set map({ 'n', 'v' }, '', '', { silent = true }) map('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) map('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }) vim.api.nvim_create_autocmd('TextYankPost', { callback = function() vim.highlight.on_yank() end, group = highlight_group, pattern = '*', }) require('telescope').setup { defaults = { mappings = { i = { [''] = false, [''] = false, }, }, }, } pcall(require('telescope').load_extension, 'fzf') map('n', '?', require('telescope.builtin').oldfiles, { desc = '[?] Find recently opened files' }) map('n', '', require('telescope.builtin').buffers, { desc = '[ ] Find existing buffers' }) map('n', '/', function() require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { winblend = 10, previewer = false, }) end, { desc = '[/] Fuzzily search in current buffer' }) map('n', 'gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' }) map('n', 'sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) map('n', 'sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) map('n', 'sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' }) map('n', 'sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' }) map('n', 'sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' }) map("n", "", "m .+1==", { desc = "Move down" }) map("n", "", "m .-2==", { desc = "Move up" }) map("i", "", "m .+1==gi", { desc = "Move down" }) map("i", "", "m .-2==gi", { desc = "Move up" }) map("v", "", ":m '<-2gv=gv", { desc = "Move up" }) map("v", "", ":m '>+1gv=gv", { desc = "Move down" }) map("v", "<", "", ">gv") map("n", "", "h", { desc = "Go to left window", remap = true }) map("n", "", "j", { desc = "Go to lower window", remap = true }) map("n", "", "k", { desc = "Go to upper window", remap = true }) map("n", "", "l", { desc = "Go to right window", remap = true }) map("n", "", "resize +2", { desc = "Increase window height" }) map("n", "", "resize -2", { desc = "Decrease window height" }) map("n", "", "vertical resize -2", { desc = "Decrease window width" }) map("n", "", "vertical resize +2", { desc = "Increase window width" }) map("n", "ww", "p", { desc = "Other window", remap = true }) map("n", "wd", "c", { desc = "Delete window", remap = true }) map("n", "w-", "s", { desc = "Split window below", remap = true }) map("n", "w|", "v", { desc = "Split window right", remap = true }) map("n", "-", "s", { desc = "Split window below", remap = true }) map("n", "|", "v", { desc = "Split window right", remap = true })