-- write current buffer vim.keymap.set('n', 'w', ':w', {desc = 'Write buffer', silent = true}) -- quit keymap vim.keymap.set('n', 'q', ':q', {desc = 'Quit', silent = true}) -- close buffer keymap vim.keymap.set('n', 'c', ':BufDel', {desc = 'Close buffer', silent = true}) -- open nvimtree vim.keymap.set('n', 'e', ':NvimTreeToggle', {desc = 'Open file explorer', silent = true}) -- bufferline move between tabs vim.keymap.set('n', '', ':BufferLineCycleNext', {desc = 'Next buffer', silent = true}) vim.keymap.set('n', '', ':BufferLineCyclePrev', {desc = 'Previous buffer', silent = true}) -- quicker window navigation vim.keymap.set('n', '', 'h', {desc = 'window navigation', silent = true}) vim.keymap.set('n', '', 'j', {desc = 'window navigation', silent = true}) vim.keymap.set('n', '', 'k', {desc = 'window navigation', silent = true}) vim.keymap.set('n', '', 'l', {desc = 'window navigation', silent = true}) -- toggleterm -- todo: maybe can use these kybindings simultaneously with hidden attribute -- https://github.com/akinsho/toggleterm.nvim/issues/322 vim.keymap.set('n', '', 'ToggleTerm direction=float', {desc = 'floating terminal'}) vim.keymap.set('t', '', 'exit', {desc = 'floating terminal'}) vim.keymap.set('n', '', 'ToggleTerm direction=horizontal', {desc = 'horizontal terminal'}) vim.keymap.set('t', '', 'ToggleTerm', {desc = 'horizontal terminal'}) -- vsplit vim.keymap.set('n', '<|>', ':vsplit', {desc = 'Vertical split', remap = true}) -- Enable telescope fzf native, if installed pcall(require('telescope').load_extension, 'fzf') -- See `:help telescope.builtin` vim.keymap.set('n', '?', require('telescope.builtin').oldfiles, { desc = '[?] Find recently opened files' }) vim.keymap.set('n', '', require('telescope.builtin').buffers, { desc = '[ ] Find existing buffers' }) -- vim.keymap.set('n', '/', 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, -- previewer = false, -- }) -- end, { desc = '[/] Fuzzily search in current buffer]' }) vim.keymap.set('n', 'sf', require('telescope.builtin').find_files, { desc = 'Search Files' }) vim.keymap.set('n', 'sh', require('telescope.builtin').help_tags, { desc = 'Search Help' }) vim.keymap.set('n', 'sw', require('telescope.builtin').grep_string, { desc = 'Search current Word' }) vim.keymap.set('n', 'sg', require('telescope.builtin').live_grep, { desc = 'Search by Grep' }) vim.keymap.set('n', 'sd', require('telescope.builtin').diagnostics, { desc = 'Search Diagnostics' }) -- Diagnostic keymaps vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' }) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' }) vim.keymap.set('n', 'ld', ':TroubleToggle', {desc = 'Buffer diagnostics', silent = true}) -- vim.keymap.set('n', 'ld', vim.diagnostic.open_float) -- vim.keymap.set('n', 'q', vim.diagnostic.setloclist)