refactor: use vim.keymap.set
This commit is contained in:
parent
9910524b91
commit
db41615adf
@ -1,9 +1,7 @@
|
||||
local fn = vim.fn
|
||||
local opt = vim.opt
|
||||
local map = vim.api.nvim_set_keymap
|
||||
local buf_map = vim.api.nvim_buf_set_keymap
|
||||
local unmap = vim.api.nvim_del_keymap
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
local keymap = vim.keymap
|
||||
|
||||
local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
|
||||
|
||||
@ -51,8 +49,11 @@ require('packer').startup(function()
|
||||
use '~/projekte/zenburn.nvim' -- zenburn coloursheme
|
||||
use 'rmagatti/auto-session' -- session management
|
||||
use 'gbprod/substitute.nvim' -- substitue objects with yanked register without copying into register
|
||||
use 'j-hui/fidget.nvim' -- notifications
|
||||
end)
|
||||
|
||||
local builtin = require('telescope.builtin')
|
||||
|
||||
-- General Editor Settings
|
||||
require("zenburn").setup()
|
||||
|
||||
@ -66,30 +67,38 @@ opt.statusline = ' %f %r %m%=%y %{&fileencoding?&fileencoding:&encoding}[%{&file
|
||||
|
||||
opt.completeopt = 'menuone,noinsert,noselect'
|
||||
|
||||
map('n', '<Space>w', '<cmd>w<cr>', { noremap = true })
|
||||
map('n', '<Space>q', '<cmd>wq<cr>', { noremap = true })
|
||||
map('n', '<Space>Q', '<cmd>wqa<cr>', { noremap = true })
|
||||
map('n', '<Space>/', '<cmd>let @/ = ""<cr>', { noremap = true })
|
||||
keymap.set('n', '<Space>w', '<cmd>w<cr>', { noremap = true })
|
||||
keymap.set('n', '<Space>q', '<cmd>wq<cr>', { noremap = true })
|
||||
keymap.set('n', '<Space>Q', '<cmd>wqa<cr>', { noremap = true })
|
||||
keymap.set('n', '<Space>/', '<cmd>let @/ = ""<cr>', { noremap = true })
|
||||
|
||||
-- fix interpreting C-I as Tab
|
||||
map('n', '<C-I>', '<C-I>', { noremap = true })
|
||||
keymap.set('n', '<C-I>', '<C-I>', { noremap = true })
|
||||
|
||||
-- Splits
|
||||
map('n', '<C-h>', '<C-w>h', { noremap = true })
|
||||
map('n', '<C-j>', '<C-w>j', { noremap = true })
|
||||
map('n', '<C-k>', '<C-w>k', { noremap = true })
|
||||
map('n', '<C-l>', '<C-w>l', { noremap = true })
|
||||
keymap.set('n', '<C-h>', '<C-w>h', { noremap = true })
|
||||
keymap.set('n', '<C-j>', '<C-w>j', { noremap = true })
|
||||
keymap.set('n', '<C-k>', '<C-w>k', { noremap = true })
|
||||
keymap.set('n', '<C-l>', '<C-w>l', { noremap = true })
|
||||
|
||||
opt.splitbelow = true
|
||||
opt.splitright = true
|
||||
|
||||
-- Using <leader> + number (1, 2, ... 9) to switch tab
|
||||
for i=1,9,1
|
||||
do
|
||||
keymap.set('n', '<leader>'..i, i.."gt", { noremap = true })
|
||||
end
|
||||
keymap.set('n', '<leader>0', ":tablast<cr>", { noremap = true})
|
||||
|
||||
-- Autocommands
|
||||
autocmd({ 'BufNewFile', 'BufRead' }, {
|
||||
desc = 'When editing compileable documents, register commands for live preview',
|
||||
pattern = { '*.md', '*.tex', '*.puml' },
|
||||
callback = function()
|
||||
buf_map(0, 'n', '<leader>p', '<cmd>lua require("compileDoc").open_document_preview()<CR>', { noremap = true })
|
||||
buf_map(0, 'n', '<leader>P', '<cmd>lua require("compileDoc").close_document_preview()<CR>', { noremap = true })
|
||||
local compileDoc = require('compileDoc')
|
||||
keymap.set('n', '<leader>p', compileDoc.open_document_preview, { noremap = true, buffer = 0 })
|
||||
keymap.set('n', '<leader>P', compileDoc.close_document_preview, { noremap = true, buffer = 0 })
|
||||
end
|
||||
})
|
||||
|
||||
@ -107,12 +116,7 @@ autocmd("FileType", {
|
||||
},
|
||||
callback = function(event)
|
||||
vim.bo[event.buf].buflisted = false
|
||||
buf_map(event.buf,
|
||||
'n',
|
||||
'q',
|
||||
'<cmd>close<cr>',
|
||||
{ silent = true, noremap = true }
|
||||
)
|
||||
keymap.set('n', 'q', '<cmd>close<cr>', { silent = true, noremap = true, buffer = event.buf })
|
||||
end,
|
||||
})
|
||||
|
||||
@ -125,53 +129,24 @@ autocmd({ "VimResized" }, {
|
||||
end,
|
||||
})
|
||||
|
||||
-- Spellcheck
|
||||
_G.enable_spell = function(lang)
|
||||
vim.bo.spelllang = lang
|
||||
|
||||
if lang ~= "" then
|
||||
vim.wo.spell = true
|
||||
|
||||
map('n', 'ff', ']s', { noremap = true })
|
||||
map('n', 'fF', '[s', { noremap = true })
|
||||
map('n', 'fa', 'zg', { noremap = true })
|
||||
map('n', 'fn', 'z=', { noremap = true })
|
||||
map('n', 'fd', 'zuw=', { noremap = true })
|
||||
print(lang .. " spellcheck enabled")
|
||||
else
|
||||
vim.wo.spell = false
|
||||
|
||||
unmap('n', 'ff')
|
||||
unmap('n', 'fF')
|
||||
unmap('n', 'fa')
|
||||
unmap('n', 'fn')
|
||||
unmap('n', 'fd')
|
||||
print("spellcheck disabled")
|
||||
end
|
||||
|
||||
-- return vim.api.nvim_replace_termcodes('<cr>', true, true, true)
|
||||
end
|
||||
|
||||
map('n', 'ZD', 'v:lua.enable_spell("de")', { expr = true, silent = true })
|
||||
map('n', 'ZE', 'v:lua.enable_spell("en")', { expr = true, silent = true })
|
||||
map('n', 'ZS', 'v:lua.enable_spell("")', { expr = true, silent = true })
|
||||
|
||||
-- LSP
|
||||
local lsp = require('lspconfig')
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
local on_attach = function(_, bufnr)
|
||||
-- Mappings.
|
||||
local opts = { noremap = true, silent = true, buffer = bufnr }
|
||||
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||
vim.keymap.set('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||
vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||
vim.keymap.set('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
|
||||
vim.keymap.set({'n', 'v'}, '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>cf', function() vim.lsp.buf.format { async = true } end, opts)
|
||||
keymap.set('n', 'gd', vim.lsp.buf.definition, opts)
|
||||
keymap.set('n', 'gi', vim.lsp.buf.implementation, opts)
|
||||
keymap.set('n', 'gr', vim.lsp.buf.references, opts)
|
||||
keymap.set('n', 'K', vim.lsp.buf.hover, opts)
|
||||
keymap.set('n', 'gk', vim.lsp.buf.signature_help, opts)
|
||||
keymap.set('n', '<space>a', vim.lsp.buf.code_action, opts)
|
||||
keymap.set('v', '<leader>a', vim.lsp.buf.code_action, opts)
|
||||
keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
|
||||
keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
|
||||
keymap.set('n', '<space>E', builtin.diagnostics, opts)
|
||||
keymap.set('n', '<space>f', function() vim.lsp.buf.format { async = true } end, opts)
|
||||
|
||||
-- Signature
|
||||
require('lsp_signature').on_attach({
|
||||
@ -229,13 +204,13 @@ lsp.lua_ls.setup {
|
||||
|
||||
-- Workaround for rust analyzer popping cancelation up https://github.com/neovim/neovim/issues/30985
|
||||
for _, method in ipairs({ 'textDocument/diagnostic', 'workspace/diagnostic' }) do
|
||||
local default_diagnostic_handler = vim.lsp.handlers[method]
|
||||
vim.lsp.handlers[method] = function(err, result, context, config)
|
||||
if err ~= nil and err.code == -32802 then
|
||||
return
|
||||
end
|
||||
return default_diagnostic_handler(err, result, context, config)
|
||||
local default_diagnostic_handler = vim.lsp.handlers[method]
|
||||
vim.lsp.handlers[method] = function(err, result, context, config)
|
||||
if err ~= nil and err.code == -32802 then
|
||||
return
|
||||
end
|
||||
return default_diagnostic_handler(err, result, context, config)
|
||||
end
|
||||
end
|
||||
|
||||
-- Snippets
|
||||
@ -345,10 +320,41 @@ require('nvim-ts-autotag').setup({
|
||||
require 'nvim-autopairs'.setup {}
|
||||
|
||||
-- Telescope
|
||||
map('n', '<Leader>ff', '<cmd>lua require("telescope.builtin").find_files()<cr>', { noremap = true })
|
||||
map('n', '<leader>fg', '<cmd>lua require("telescope.builtin").live_grep()<cr>', { noremap = true })
|
||||
map('n', '<leader>fb', '<cmd>lua require("telescope.builtin").buffers()<cr>', { noremap = true })
|
||||
map('n', '<leader>fh', '<cmd>lua require("telescope.builtin").help_tags()<cr>', { noremap = true })
|
||||
keymap.set('n', '<leader>ff', builtin.find_files, { noremap = true })
|
||||
keymap.set('n', '<leader>fg', builtin.live_grep, { noremap = true })
|
||||
keymap.set('n', '<leader>fb', builtin.buffers, { noremap = true })
|
||||
keymap.set('n', '<leader>fh', builtin.help_tags, { noremap = true })
|
||||
|
||||
-- Spellcheck
|
||||
local enable_spell = function(lang)
|
||||
vim.bo.spelllang = lang
|
||||
|
||||
if lang ~= "" then
|
||||
vim.wo.spell = true
|
||||
|
||||
keymap.set('n', 'fn', ']s', { noremap = true })
|
||||
keymap.set('n', 'fb', '[s', { noremap = true })
|
||||
keymap.set('n', 'fa', 'zg', { noremap = true })
|
||||
keymap.set('n', 'ff', builtin.spell_suggest, { noremap = true })
|
||||
keymap.set('n', 'fd', 'zuw=', { noremap = true })
|
||||
print(lang .. " spellcheck enabled")
|
||||
else
|
||||
vim.wo.spell = false
|
||||
|
||||
keymap.del('n', 'fn')
|
||||
keymap.del('n', 'fb')
|
||||
keymap.del('n', 'fa')
|
||||
keymap.del('n', 'ff')
|
||||
keymap.del('n', 'fd')
|
||||
print("spellcheck disabled")
|
||||
end
|
||||
|
||||
-- return vim.api.nvim_replace_termcodes('<cr>', true, true, true)
|
||||
end
|
||||
|
||||
keymap.set('n', 'ZD', function() enable_spell("de") end, { expr = true, silent = true })
|
||||
keymap.set('n', 'ZE', function() enable_spell("en") end, { expr = true, silent = true })
|
||||
keymap.set('n', 'ZS', function() enable_spell("") end, { expr = true, silent = true })
|
||||
|
||||
-- Vimwiki
|
||||
require('mkdnflow').setup({
|
||||
@ -375,7 +381,7 @@ require('mkdnflow').setup({
|
||||
}
|
||||
})
|
||||
|
||||
vim.keymap.set('n', '<leader>wd', function()
|
||||
local create_todo_for_today = function()
|
||||
local date_string = os.date("%Y-%m-%d")
|
||||
local path = '/home/max/dokumente/wiki/todos/' .. date_string .. '.md'
|
||||
|
||||
@ -384,7 +390,9 @@ vim.keymap.set('n', '<leader>wd', function()
|
||||
vim.api.nvim_put({ "# Todo - " .. date_string, "- [ ] " }, 'c', false, true)
|
||||
end
|
||||
vim.cmd.write()
|
||||
end, { noremap = true })
|
||||
end
|
||||
|
||||
keymap.set('n', '<leader>wd', create_todo_for_today, { noremap = true })
|
||||
|
||||
|
||||
autocmd({ 'BufRead', 'BufNewFile' }, {
|
||||
@ -393,8 +401,9 @@ autocmd({ 'BufRead', 'BufNewFile' }, {
|
||||
callback = function()
|
||||
vim.cmd('set awa')
|
||||
vim.wo.conceallevel = 2
|
||||
map('n', '<Leader>wf', '<cmd>lua require("telescope_customs").find_wiki()<cr>', { noremap = true })
|
||||
map('n', '<Leader>wg', '<cmd>lua require("telescope_customs").grep_wiki()<cr>', { noremap = true })
|
||||
local customs = require('telescope_customs');
|
||||
keymap.set('n', '<Leader>wf', customs.find_wiki, { noremap = true })
|
||||
keymap.set('n', '<Leader>wg', customs.grep_wiki, { noremap = true })
|
||||
end
|
||||
})
|
||||
|
||||
@ -436,7 +445,7 @@ require('lir').setup {
|
||||
hide_cursor = true
|
||||
}
|
||||
|
||||
map('n', '<C-n>', '<cmd>lua require("lir.float").toggle()<cr>', { noremap = true })
|
||||
keymap.set('n', '<C-n>', require("lir.float").toggle, { noremap = true })
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
@ -456,9 +465,9 @@ require('colorizer').setup({
|
||||
})
|
||||
|
||||
-- Leap
|
||||
vim.keymap.set({ 'n', 'x', 'o' }, 'ö', '<Plug>(leap-forward)')
|
||||
vim.keymap.set({ 'n', 'x', 'o' }, 'Ö', '<Plug>(leap-backward)')
|
||||
vim.keymap.set({ 'n', 'x', 'o' }, 'gö', '<Plug>(leap-from-window)')
|
||||
keymap.set({ 'n', 'x', 'o' }, 'ö', '<Plug>(leap-forward)')
|
||||
keymap.set({ 'n', 'x', 'o' }, 'Ö', '<Plug>(leap-backward)')
|
||||
keymap.set({ 'n', 'x', 'o' }, 'gö', '<Plug>(leap-from-window)')
|
||||
|
||||
-- Debugger Adapter Protocol
|
||||
local dap = require('dap')
|
||||
@ -485,19 +494,20 @@ dap.configurations.rust = {
|
||||
},
|
||||
}
|
||||
|
||||
map('n', '<Leader>dc', '<cmd>lua require"dap".continue()<cr>', { noremap = true })
|
||||
map('n', '<Leader>db', '<cmd>lua require"dap".toggle_breakpoint()<cr>', { noremap = true })
|
||||
map('n', '<Leader>do', '<cmd>lua require"dap".step_over()<cr>', { noremap = true })
|
||||
map('n', '<Leader>di', '<cmd>lua require"dap".step_into()<cr>', { noremap = true })
|
||||
keymap.set('n', '<Leader>dc', dap.continue, { noremap = true })
|
||||
keymap.set('n', '<Leader>db', dap.toggle_breakpoint, { noremap = true })
|
||||
keymap.set('n', '<Leader>do', dap.step_over, { noremap = true })
|
||||
keymap.set('n', '<Leader>di', dap.step_into, { noremap = true })
|
||||
|
||||
require("dapui").setup()
|
||||
map('n', '<Leader>dd', '<cmd>lua require"dapui".toggle()<cr>', { noremap = true })
|
||||
local dapui = require("dapui")
|
||||
dapui.setup()
|
||||
keymap.set('n', '<Leader>dd', dapui.toggle, { noremap = true })
|
||||
|
||||
-- registers preview
|
||||
require("registers").setup()
|
||||
|
||||
-- Lazygit
|
||||
map('n', '<Leader>g', '<cmd>LazyGit<cr>', { noremap = true })
|
||||
keymap.set('n', '<Leader>g', '<cmd>LazyGit<cr>', { noremap = true })
|
||||
|
||||
-- Session
|
||||
require("auto-session").setup {
|
||||
@ -507,8 +517,12 @@ require("auto-session").setup {
|
||||
opt.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,terminal,localoptions"
|
||||
|
||||
-- Substitute
|
||||
require("substitute").setup()
|
||||
vim.keymap.set('n', 's', require('substitute').operator, { noremap = true })
|
||||
vim.keymap.set('n', 'ss', require('substitute').line, { noremap = true })
|
||||
vim.keymap.set('n', 'S', require('substitute').eol, { noremap = true })
|
||||
vim.keymap.set('x', 's', require('substitute').visual, { noremap = true })
|
||||
local substitute = require("substitute")
|
||||
substitute.setup()
|
||||
keymap.set('n', 's', substitute.operator, { noremap = true })
|
||||
keymap.set('n', 'ss', substitute.line, { noremap = true })
|
||||
keymap.set('n', 'S', substitute.eol, { noremap = true })
|
||||
keymap.set('x', 's', substitute.visual, { noremap = true })
|
||||
|
||||
-- Fidget notifications
|
||||
require('fidget').setup()
|
||||
|
Loading…
Reference in New Issue
Block a user