nvim: change lsp config and add telecope shortcuts
This commit is contained in:
parent
927806a627
commit
a2f7cd7218
|
|
@ -1 +1 @@
|
|||
vim.keymap.set('n', '<leader>gs', vim.cmd.Git)
|
||||
vim.keymap.set('n', '<leader>G', vim.cmd.Git)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
require('gitsigns').setup{
|
||||
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})
|
||||
|
||||
map('n', '[c', function()
|
||||
if vim.wo.diff then return '[c' end
|
||||
vim.schedule(function() gs.prev_hunk() end)
|
||||
return '<Ignore>'
|
||||
end, {expr=true})
|
||||
|
||||
-- Actions
|
||||
map({'n', 'v'}, '<leader>hs', ':Gitsigns stage_hunk<CR>')
|
||||
map({'n', 'v'}, '<leader>hr', ':Gitsigns reset_hunk<CR>')
|
||||
map('n', '<leader>hS', gs.stage_buffer)
|
||||
map('n', '<leader>hu', gs.undo_stage_hunk)
|
||||
map('n', '<leader>hR', gs.reset_buffer)
|
||||
map('n', '<leader>hp', gs.preview_hunk)
|
||||
map('n', '<leader>hb', function() gs.blame_line{full=true} end)
|
||||
map('n', '<leader>tb', gs.toggle_current_line_blame)
|
||||
map('n', '<leader>hd', gs.diffthis)
|
||||
map('n', '<leader>hD', function() gs.diffthis('~') end)
|
||||
map('n', '<leader>td', gs.toggle_deleted)
|
||||
|
||||
-- Text object
|
||||
map({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
|
||||
end
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
vim.cmd [[highlight IndentBlanklineIndent guifg=#073642 gui=nocombine]]
|
||||
|
||||
require("indent_blankline").setup {
|
||||
char_highlight_list = {
|
||||
"IndentBlanklineIndent",
|
||||
}
|
||||
}
|
||||
|
|
@ -46,7 +46,7 @@ cmp.setup {
|
|||
},
|
||||
}
|
||||
|
||||
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, opts)
|
||||
vim.keymap.set('n', '<leader>t', vim.diagnostic.open_float, 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', '<leader>d', vim.diagnostic.setloclist, opts)
|
||||
|
|
@ -69,12 +69,16 @@ local on_attach = function(client, bufnr)
|
|||
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts)
|
||||
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, bufopts)
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||
vim.keymap.set('n', '<leader>f', vim.lsp.buf.formatting, bufopts)
|
||||
vim.keymap.set('n', '<leader>f', function() vim.lsp.buf.format { async = true } end, bufopts)
|
||||
-- vim.api.nvim_create_autocmd(
|
||||
-- { "BufWrite" }, {command = "lua vim.lsp.buf.formatting()"}
|
||||
-- )
|
||||
end
|
||||
|
||||
vim.diagnostic.config({
|
||||
virtual_text = false,
|
||||
})
|
||||
|
||||
lspconfig.pylsp.setup {
|
||||
capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
|
||||
on_attach = on_attach,
|
||||
|
|
|
|||
|
|
@ -1,11 +1,23 @@
|
|||
local builtin = require('telescope.builtin')
|
||||
require('telescope').load_extension('fzf')
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>fg', builtin.git_files, {})
|
||||
vim.keymap.set('n', '<leader>fr', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||
vim.keymap.set('n', '<leader>fs', builtin.grep_string, {})
|
||||
vim.keymap.set('n', '<leader>fl', builtin.lsp_references, {})
|
||||
vim.keymap.set('n', '<leader>fd', builtin.diagnostics, {})
|
||||
vim.keymap.set('n', '<leader>fo', builtin.lsp_document_symbols, {})
|
||||
vim.keymap.set('n', '<leader>ft', builtin.treesitter, {})
|
||||
vim.keymap.set('n', '<leader>o', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>l', builtin.git_files, {})
|
||||
vim.keymap.set('n', '<leader>g', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>b', builtin.buffers, {})
|
||||
vim.keymap.set('n', '<leader>i', builtin.grep_string, {})
|
||||
vim.keymap.set('n', '<leader>r', builtin.lsp_references, {})
|
||||
vim.keymap.set('n', '<leader>m', builtin.diagnostics, {})
|
||||
vim.keymap.set('n', '<leader>s', builtin.lsp_document_symbols, {})
|
||||
vim.keymap.set('n', '<leader>t', builtin.treesitter, {})
|
||||
|
||||
local actions = require "telescope.actions"
|
||||
require('telescope').setup{
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-p>"] = actions.move_selection_next,
|
||||
["<C-n>"] = actions.move_selection_previous,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@ require'nvim-treesitter.configs'.setup {
|
|||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
indent = {
|
||||
enable = true
|
||||
enable = true,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,12 @@ vim.o.shiftwidth = 4
|
|||
vim.o.expandtab = 4
|
||||
|
||||
vim.o.smartindent = true
|
||||
vim.o.autoindent = true
|
||||
|
||||
|
||||
vim.o.showmatch = true -- show matching brackets
|
||||
vim.o.laststatus = 2 -- always show status line
|
||||
vim.o.timeout = false
|
||||
|
||||
vim.o.hlsearch = false
|
||||
vim.o.incsearch = true
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ vim.g.mapleader = ' '
|
|||
vim.keymap.set('n', '<leader>e', vim.cmd.Ex)
|
||||
vim.keymap.set('n', 'n', 'nzzzv')
|
||||
vim.keymap.set('n', 'N', 'Nzzzv')
|
||||
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
||||
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
||||
vim.keymap.set('n', '<leader>w', ':w<CR>')
|
||||
vim.keymap.set('n', '<leader>q', ':q<CR>')
|
||||
|
||||
|
|
@ -9,3 +11,16 @@ vim.keymap.set('n', '[b', ':bprev<CR>')
|
|||
vim.keymap.set('n', ']b', ':bnext<CR>')
|
||||
vim.keymap.set('n', '[B', ':bfirst<CR>')
|
||||
vim.keymap.set('n', ']B', ':blast<CR>')
|
||||
|
||||
vim.keymap.set('n', 'H', '^')
|
||||
vim.keymap.set('n', 'dH', 'd^')
|
||||
vim.keymap.set('n', 'yH', 'y^')
|
||||
vim.keymap.set('n', 'cH', 'c^')
|
||||
vim.keymap.set('n', 'L', '$')
|
||||
vim.keymap.set('n', 'dL', 'd$')
|
||||
vim.keymap.set('n', 'yL', 'y$')
|
||||
vim.keymap.set('n', 'cL', 'c$')
|
||||
vim.keymap.set('v', 'L', '$')
|
||||
vim.keymap.set('v', 'H', '^')
|
||||
|
||||
vim.keymap.set('n', '<leader>cd', ':cd %:p:h<CR>')
|
||||
|
|
|
|||
|
|
@ -23,4 +23,8 @@ return require('packer').startup(function(use)
|
|||
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp
|
||||
use 'saadparwaiz1/cmp_luasnip' -- Snippets source for nvim-cmp
|
||||
use 'L3MON4D3/LuaSnip' -- Snippets plugin
|
||||
use 'lukas-reineke/indent-blankline.nvim'
|
||||
|
||||
use 'lewis6991/gitsigns.nvim'
|
||||
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -95,6 +95,17 @@ _G.packer_plugins = {
|
|||
path = "/home/dm/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
|
||||
url = "https://github.com/saadparwaiz1/cmp_luasnip"
|
||||
},
|
||||
["gitsigns.nvim"] = {
|
||||
config = { "\27LJ\2\0026\0\0\2\0\3\0\0066\0\0\0'\1\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0" },
|
||||
loaded = true,
|
||||
path = "/home/dm/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
|
||||
url = "https://github.com/lewis6991/gitsigns.nvim"
|
||||
},
|
||||
["indent-blankline.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/dm/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
|
||||
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
|
||||
},
|
||||
["nvim-cmp"] = {
|
||||
loaded = true,
|
||||
path = "/home/dm/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||
|
|
@ -138,6 +149,10 @@ _G.packer_plugins = {
|
|||
}
|
||||
|
||||
time([[Defining packer_plugins]], false)
|
||||
-- Config for: gitsigns.nvim
|
||||
time([[Config for gitsigns.nvim]], true)
|
||||
try_loadstring("\27LJ\2\0026\0\0\2\0\3\0\0066\0\0\0'\1\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0", "config", "gitsigns.nvim")
|
||||
time([[Config for gitsigns.nvim]], false)
|
||||
-- Config for: NeoSolarized
|
||||
time([[Config for NeoSolarized]], true)
|
||||
try_loadstring("\27LJ\2\2<\0\0\2\0\3\0\0056\0\0\0009\0\1\0'\1\2\0B\0\2\1K\0\1\0\29colorscheme NeoSolarized\bcmd\bvim\0", "config", "NeoSolarized")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
pip:
|
||||
python-lsp-server[all]
|
||||
|
||||
system:
|
||||
python3-lsp-server
|
||||
fd
|
||||
fzf
|
||||
rg
|
||||
Loading…
Reference in New Issue