nvim: remap keys, fix tab menu getcwd when tabs deleted
This commit is contained in:
parent
8a33f3bc02
commit
252544af19
@ -21,7 +21,7 @@ local on_attach = function(_, bufnr)
|
||||
|
||||
-- See `:help K` for why this keymap
|
||||
nmap('K', vim.lsp.buf.hover, 'Hover Documentation')
|
||||
nmap('<leader>k', vim.lsp.buf.signature_help, 'Signature Documentation')
|
||||
nmap('<leader>K', vim.lsp.buf.signature_help, 'Signature Documentation')
|
||||
|
||||
-- Lesser used LSP functionality
|
||||
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
||||
|
@ -34,3 +34,11 @@ vim.o.completeopt = 'menuone,noselect'
|
||||
vim.o.termguicolors = true
|
||||
|
||||
vim.o.scrolloff = 8
|
||||
|
||||
vim.o.tabstop = 4
|
||||
vim.o.softtabstop = 4
|
||||
vim.o.shiftwidth = 4
|
||||
vim.o.expandtab = true
|
||||
vim.o.expandtab = true
|
||||
|
||||
vim.g.lightspeed_no_default_keymaps = true
|
||||
|
@ -54,6 +54,10 @@ key('n', '<leader>tt', function()
|
||||
require('telescope-tabs').go_to_previous()
|
||||
end, { desc = '[T]ab [t]oggle previous' })
|
||||
|
||||
for i = 1, 9, 1 do
|
||||
key('n', '<leader>t' .. i, '<cmd>' .. i .. 'tabnext<cr>', { desc = '[T]ab nr [' .. i .. ']' })
|
||||
end
|
||||
|
||||
-- Diagnostic keymaps
|
||||
key('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' })
|
||||
key('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' })
|
||||
@ -86,6 +90,15 @@ key('v', '>', '>gv', opts)
|
||||
-- Keep old value of register
|
||||
key('v', 'P', '"_dP', opts)
|
||||
|
||||
-- LightSpeed
|
||||
key('n', 'g/', '<Plug>Lightspeed_s', { desc = "Lightspeed forward search" })
|
||||
key('n', 'g?', '<Plug>Lightspeed_S', { desc = "Lightspeed backward search" })
|
||||
|
||||
-- Clipboard and quickfix
|
||||
key({ 'n', 'v' }, '<leader>y', '"+y', { desc = "Yank to clipboard" })
|
||||
key('n', '<leader>j', ':cn<CR>', { desc = "Quickfix next" })
|
||||
key('n', '<leader>k', ':cp<CR>', { desc = "Quickfix previous" })
|
||||
|
||||
-- luasnip
|
||||
|
||||
vim.keymap.set({ 'i', 's' }, "<c-k>", function()
|
||||
|
@ -15,14 +15,17 @@ return {
|
||||
changedelete = { text = '~' },
|
||||
},
|
||||
on_attach = function(bufnr)
|
||||
vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk,
|
||||
local gs = require('gitsigns')
|
||||
vim.keymap.set('n', '<leader>gp', gs.prev_hunk,
|
||||
{ buffer = bufnr, desc = '[G]o to [P]revious Hunk' })
|
||||
vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk,
|
||||
vim.keymap.set('n', '<leader>gn', gs.next_hunk,
|
||||
{ buffer = bufnr, desc = '[G]o to [N]ext Hunk' })
|
||||
vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk,
|
||||
vim.keymap.set('n', '<leader>ph', gs.preview_hunk,
|
||||
{ buffer = bufnr, desc = '[P]review [H]unk' })
|
||||
vim.keymap.set('n', '<leader>sh', require('gitsigns').stage_hunk,
|
||||
vim.keymap.set('n', '<leader>sh', gs.stage_hunk,
|
||||
{ buffer = bufnr, desc = '[S]tage [H]unk' })
|
||||
vim.keymap.set('n', '<leader>HD', function() gs.diffthis('~') end,
|
||||
{ buffer = bufnr, desc = '[H]unk [D]iff' })
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
@ -1,3 +1,12 @@
|
||||
local function get_tab_idx(tab_id)
|
||||
for i, tabnr in ipairs(vim.api.nvim_list_tabpages()) do
|
||||
if tabnr == tab_id then
|
||||
return i
|
||||
end
|
||||
end
|
||||
return -1
|
||||
end
|
||||
|
||||
return {
|
||||
'LukasPietzschmann/telescope-tabs',
|
||||
dependencies = { 'nvim-telescope/telescope.nvim' },
|
||||
@ -5,12 +14,12 @@ return {
|
||||
config = function()
|
||||
require 'telescope-tabs'.setup {
|
||||
entry_formatter = function(tab_id, buffer_ids, file_names, file_paths, is_current)
|
||||
local cwd = vim.fn.getcwd(-1, tab_id)
|
||||
local cwd = vim.fn.getcwd(-1, get_tab_idx(tab_id))
|
||||
local entry_string = table.concat(file_names, ', ')
|
||||
return string.format('%d: %s %s%s', tab_id, cwd, entry_string, is_current and ' <' or '')
|
||||
end,
|
||||
entry_ordinal = function(tab_id, buffer_ids, file_names, file_paths, is_current)
|
||||
local cwd = vim.fn.getcwd(-1, tab_id)
|
||||
local cwd = vim.fn.getcwd(-1, get_tab_idx(tab_id))
|
||||
local entry_string = table.concat(file_names, ', ')
|
||||
return string.format('%s %s', cwd, entry_string)
|
||||
end,
|
||||
|
Loading…
x
Reference in New Issue
Block a user