1
0
Fork 0

nvim: mostly keymaps

This commit is contained in:
Vladimír Dudr 2023-01-05 14:01:25 +01:00
parent 767bdf243f
commit 8a2a374dca
10 changed files with 168 additions and 46 deletions

View file

@ -11,9 +11,12 @@ if not vim.loop.fs_stat(lazypath) then
end
vim.opt.runtimepath:prepend(lazypath)
vim.g.mapleader = '<Space>'
vim.g.maplocalleader = '<Space>'
vim.g.loaded_netrwPlugin = true
require('lazy').setup('configs.packages', {
install = { colorscheme = { 'gruvbox' } },
rtp = { disable_plugins = { 'netrw' } }
install = { colorscheme = { 'gruvbox' }, },
})
require('configs.options').setup()

View file

@ -0,0 +1,44 @@
{
"Colorizer": { "branch": "master", "commit": "715c91303f0f7a59b21af39c9d168d975ca2c831" },
"Comment.nvim": { "branch": "master", "commit": "ab00bcf5aa979c53f2f40dc2655c03e24f4ef50f" },
"FTerm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
"ctrlsf.vim": { "branch": "master", "commit": "32236a8b376d9311dec9b5fe795ca99d32060b13" },
"editorconfig-vim": { "branch": "master", "commit": "30ddc057f71287c3ac2beca876e7ae6d5abe26a0" },
"fidget.nvim": { "branch": "main", "commit": "44585a0c0085765195e6961c15529ba6c5a2a13b" },
"gitsigns.nvim": { "branch": "main", "commit": "d4f8c01280413919349f5df7daccd0c172143d7c" },
"gruvbox": { "branch": "master", "commit": "2b5b1f777f0583ffb39086d6c16f39e6e37459c0" },
"indent-blankline.nvim": { "branch": "master", "commit": "c4c203c3e8a595bc333abaf168fcb10c13ed5fb7" },
"lazy.nvim": { "branch": "main", "commit": "b2dec14824383137440040da0d9d107f3a29c656" },
"linediff.vim": { "branch": "main", "commit": "b4d3c3f03eed00caa741c2650e13db5b7b7ce0ef" },
"lspkind.nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" },
"lualine.nvim": { "branch": "master", "commit": "d8c392dd75778d6258da4e7c55522e94ac389732" },
"neo-tree.nvim": { "branch": "v2.x", "commit": "3b41f0d17139bb156f1acd907608f63e0e307caf" },
"neodev.nvim": { "branch": "main", "commit": "258b83f48405c6b530c09dd96950693664dc6bc0" },
"nette.vim": { "branch": "master", "commit": "3f5c7f61d3552856ba95b0285d4acb485c1d61ea" },
"nui.nvim": { "branch": "main", "commit": "257da38029d3859ed111804f9d4e95b0fa993a31" },
"null-ls.nvim": { "branch": "main", "commit": "6830a1ed04f89e6d556cb6bcc200433173004307" },
"nvim-cmp": { "branch": "main", "commit": "c49ad26e894e137e401b1d294948c46327877eaf" },
"nvim-lspconfig": { "branch": "master", "commit": "e69978a39e4d3262b09ce6a316beff384f443e3b" },
"nvim-navic": { "branch": "master", "commit": "7a2b823152fe4de65ee7925b0e32d26ed73bc57c" },
"nvim-treesitter": { "branch": "master", "commit": "b1569394614804aaad4e994731161f253ff61bcc" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "d816761ec1ea4a605689bc5f4111088459cf74d4" },
"nvim-web-devicons": { "branch": "master", "commit": "05e1072f63f6c194ac6e867b567e6b437d3d4622" },
"nvim-yati": { "branch": "main", "commit": "b76ca0c8c4617b49c7572f055e7b9caed96f783f" },
"playground": { "branch": "master", "commit": "8a887bcf66017bd775a0fb19c9d8b7a4d6759c48" },
"plenary.nvim": { "branch": "master", "commit": "bb444796dc5746d969f0718913a31c8075741e36" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"schemastore.nvim": { "branch": "main", "commit": "eee175f655e6775e1750a81b89a7471f9dbe8b0e" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" },
"telescope.nvim": { "branch": "master", "commit": "a606bd10c79ec5989c76c49cc6f736e88b63f0da" },
"trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" },
"vdebug": { "branch": "master", "commit": "247f2be7fe3108038276615cb9493b82fced0001" },
"vim-matchup": { "branch": "master", "commit": "db5120dd9887c988de7cd973ddb951e465d413e5" },
"vim-vsnip": { "branch": "master", "commit": "8dde8c0ef10bb1afdbb301e2bd7eb1c153dd558e" },
"which-key.nvim": { "branch": "main", "commit": "b7e0b1f16c20bc1ea0515851bc5740d1c1f18444" },
"zig.vim": { "branch": "master", "commit": "c8caa9ab97334ca5af2d69900108bb4af20933c5" }
}

View file

@ -6,8 +6,9 @@ function M.setup()
vim.keymap.set('n', '<S-Up>', '<C-Y>')
--}}}
vim.keymap.set('n', '<Space>li', '<Cmd>LspInfo<CR>', { desc = 'Lsp info' })
vim.keymap.set('n', '<Space>ll', '<Cmd>LspLog<CR>', { desc = 'Lsp log' })
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to next diagnostic' })
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to prev diagnostic' })
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, { desc = 'Diagnostic to loclist' })
end

View file

@ -1,4 +1,14 @@
local lazygit = function()
local M = {
'numToStr/FTerm.nvim',
keys = {
{ '<Space>gg', '<Plug>Lazygit', desc = 'Lazygit' },
{ '<Space>gh', '<Plug>GitHistory', desc = 'Git history' },
},
lazy = true,
}
function M.config()
local fterm = require('FTerm')
fterm.scratch({
-- ft = 'fterm_lazygit', -- You can also override the default filetype, if you want
@ -9,6 +19,22 @@ local lazygit = function()
width = 0.9
}
})
local git_history = function()
local file = vim.api.nvim_buf_get_name(0)
local cmd = 'git log -p --ext-diff ' .. file
fterm.scratch({
-- ft = 'git_history', -- You can also override the default filetype, if you want
cmd = cmd,
dimensions = {
height = 0.9,
width = 0.9
}
})
end
vim.keymap.set('n', '<Plug>Lazygit', function() lazygit:toggle() end, { desc = 'Toggle lazygit' })
vim.keymap.set('n', '<Plug>GitHistory', git_history, { desc = 'Show git history' })
end
local git_history = function()

View file

@ -0,0 +1,44 @@
return {
'lewis6991/gitsigns.nvim',
dependencies = { 'nvim-lua/plenary.nvim' },
config = {
on_attach = function(bufnr)
local gs = package.loaded.gitsigns
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', ']c', function()
if vim.wo.diff then return ']c' end
vim.schedule(function() gs.next_hunk() end)
return '<Ignore>'
end, { expr = true, desc = 'Git next hunk' })
map('n', '[c', function()
if vim.wo.diff then return '[c' end
vim.schedule(function() gs.prev_hunk() end)
return '<Ignore>'
end, { expr = true, desc = 'Git prev hunk' })
-- Actions
map({ 'n', 'v' }, '<leader>hs', ':Gitsigns stage_hunk<CR>', { desc = 'Gitsigns stage hunk' })
map({ 'n', 'v' }, '<leader>hr', ':Gitsigns reset_hunk<CR>', { desc = 'Gitsigns reset hunk' })
map('n', '<leader>hS', gs.stage_buffer, { desc = 'Gitsigns stage buffer' })
map('n', '<leader>hu', gs.undo_stage_hunk, { desc = 'Gitsigns undo stage hunk' })
map('n', '<leader>hR', gs.reset_buffer, { desc = 'Gitsigns reset buffer' })
map('n', '<leader>hp', gs.preview_hunk, { desc = 'Gitsigns preview hunk' })
map('n', '<leader>hb', function() gs.blame_line { full = true } end, { desc = 'Gitsigns blame line' })
map('n', '<leader>tb', gs.toggle_current_line_blame, { desc = 'Gitsigns toggle blame line' })
map('n', '<leader>hd', gs.diffthis, { desc = 'Gitsigns diff this' })
map('n', '<leader>hD', function() gs.diffthis('~') end, { desc = 'Gitsigns diff this ~' })
map('n', '<leader>td', gs.toggle_deleted, { desc = 'Gitsigns toggle deleted' })
-- Text object
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>', { desc = 'Inner git hunk' })
end
}
}

View file

@ -5,7 +5,12 @@ local M = {
'b0o/schemastore.nvim',
'SmiteshP/nvim-navic',
{ 'j-hui/fidget.nvim', config = true },
}
},
keys = {
{'<Space>li', '<Cmd>LspInfo<CR>', desc = 'Lsp info' },
{'<Space>ll', '<Cmd>LspLog<CR>', desc = 'Lsp log' },
},
lazy = false
}
function M.config()
@ -37,6 +42,9 @@ function M.config()
-- Mappings.
local opts = { noremap = true, silent = true, buffer = args.buf }
local mkOpts = function(desc)
return { noremap = true, silent = true, buffer = args.buf, desc = desc }
end
-- use LSP default tagfunc
-- if client.server_capabilities.definitionProvider then
@ -44,30 +52,27 @@ function M.config()
-- end
if client.server_capabilities.declarationProvider then
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts)
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, mkOpts('LSP declaration'))
end
if client.supports_method('textDocument/hover') and client.name ~= 'null-ls' then
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, mkOpts('LSP hover'))
end
if client.server_capabilities.implementationProvider then
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, mkOpts('LSP implementation'))
end
if client.server_capabilities.signatureHelpProvider then
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
vim.keymap.set('i', '<C-k>', vim.lsp.buf.signature_help, opts)
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, mkOpts('LSP signature help'))
vim.keymap.set('i', '<C-k>', vim.lsp.buf.signature_help, mkOpts('LSP signature help'))
end
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts)
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, opts)
vim.keymap.set('v', '<space>ca', vim.lsp.buf.code_action, opts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, mkOpts('LSP type definition'))
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, mkOpts('LSP rename'))
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, mkOpts('LSP Code action'))
vim.keymap.set('v', '<space>ca', vim.lsp.buf.code_action, mkOpts('LSP Code action'))
vim.keymap.set('n', 'gr', vim.lsp.buf.references, mkOpts('LSP references'))
vim.keymap.set('n', '<space>F', function() vim.lsp.buf.format({ async = true, filter = formatting_filter, }) end, opts)
if (formatting_filter(client)) then

View file

@ -1,28 +1,13 @@
return {
{ 'chrisbra/Colorizer', cmd = 'ColorToggle'},
{ 'chrisbra/Colorizer', cmd = 'ColorToggle' },
{
'lewis6991/gitsigns.nvim',
dependencies = { 'nvim-lua/plenary.nvim' },
config = true,
},
{ 'AndrewRadev/linediff.vim',
cmd = {'LinediffAdd', 'Linediff'},
keys = {
{ '<Space-d>', '<Cmd>Linediff<CR>' }
}
},
{ 'AndrewRadev/linediff.vim', cmd = 'Linediff' },
{ 'lukas-reineke/indent-blankline.nvim', config = true },
{
'b3nj5m1n/kommentary',
config = function()
local kommentary = require('kommentary.config')
kommentary.configure_language('php', { prefer_single_line_comments = true, })
kommentary.configure_language('lua', { prefer_single_line_comments = true, })
end
'numToStr/Comment.nvim',
config = true,
},
{
@ -42,7 +27,10 @@ return {
{
'vlada-dudr/vdebug',
lazy = true,
keys = {'<F5>'},
keys = {
{ '<F5>', desc = 'Start Vdebug' },
{ '<F10>', desc = 'Vdebug breakpoint' },
},
},
{ 'dyng/ctrlsf.vim', cmd = 'CtrlSF' },
@ -58,7 +46,7 @@ return {
dependencies = { 'kyazdani42/nvim-web-devicons' },
lazy = true,
cmd = { 'Trouble', 'TroubleToggle' },
keys = { {'<Space>t', ':TroubleToggle<CR>' } },
keys = { { '<Space>t', ':TroubleToggle<CR>', desc = 'Trouble' } },
config = {
mode = 'document_diagnostics'
}

View file

@ -3,9 +3,9 @@ local M = {
branch = 'v2.x',
lazy = false,
keys = {
{ '<F3>', [[<Cmd>Neotree toggle<CR>]], { desc = 'Toggle Neotree' } },
{ '<F4>', [[<Cmd>Neotree reveal<CR>]], { desc = 'Show current file in Neotree' } },
{ '<Space>G', [[<Cmd>Neotree git_status<CR>]], { desc = 'Neotree git status' } }
{ '<Space>ft', [[<Cmd>Neotree toggle<CR>]], desc = 'Toggle Neotree' },
{ '<Space>fr', [[<Cmd>Neotree reveal<CR>]], desc = 'Reveal current file in Neotree' },
{ '<Space>gt', [[<Cmd>Neotree git_status<CR>]], desc = 'Neotree git status (Git Tree)' }
},
cmd = 'Neotree',
dependencies = {

View file

@ -10,9 +10,9 @@ local M = {
}
},
keys = {
{'<Space>b', [[<Cmd>Telescope buffers<CR>]], { noremap = true, silent = true }},
{'<Space>f', [[<Cmd>Telescope fd<CR>]], { noremap = true, silent = true }},
{'<Space>T', [[<Cmd>Telescope<CR>]], { noremap = true, silent = true }},
{'<Space>b', [[<Cmd>Telescope buffers<CR>]], desc = 'Buffers'},
{'<Space>ff', [[<Cmd>Telescope fd<CR>]], desc = 'Search file'},
{'<Space>T', [[<Cmd>Telescope<CR>]], desc = 'Telescope'},
}
}

View file

@ -0,0 +1,11 @@
return {
'folke/which-key.nvim',
config = function()
local wk = require('which-key')
wk.register({
['<Space>f'] = { name = "+file"},
['<Space>g'] = { name = "+git"},
['<Space>l'] = { name = "+LSP"},
})
end,
}