-- keymap -- set mapleader for hotkeys vim.g.mapleader = "," -- shortcut for split navigation vim.api.nvim_set_keymap('n', '', 'h', {noremap = true}) vim.api.nvim_set_keymap('n', '', 'j', {noremap = true}) vim.api.nvim_set_keymap('n', '', 'k', {noremap = true}) vim.api.nvim_set_keymap('n', '', 'l', {noremap = true}) -- unmap unwanted commands vim.api.nvim_set_keymap('n', '', '', {noremap = true}) vim.api.nvim_set_keymap('n', '', '', {noremap = true}) vim.api.nvim_set_keymap('n', '', '', {noremap = true}) vim.api.nvim_set_keymap('n', '', '', {noremap = true}) vim.api.nvim_set_keymap('n', '', '', {noremap = true}) vim.api.nvim_set_keymap('n', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) vim.api.nvim_set_keymap('i', '', '', {noremap = true}) -- mapping Dictionaries vim.api.nvim_set_keymap('n', '', ':setlocal spell! spelllang=de_de', {noremap = true}) vim.api.nvim_set_keymap('n', '', ':setlocal spell! spelllang=en_us', {noremap = true}) -- compiler for languages vim.api.nvim_set_keymap('n', 'c', ':w! | !compiler %', {noremap = true}) -- open corresponding file (pdf/html/...) vim.api.nvim_set_keymap('n', 'p', ':!opout %', {noremap = true}) -- save file as sudo on files that require root permission vim.api.nvim_set_keymap('c', 'w!!', '"silent! write !sudo tee % >/dev/null" edit!', {noremap = true}) -- alias for replacing vim.api.nvim_set_keymap('n', 'ss', ':%s//gI', {noremap = true}) -- irc compatibility for interactivity vim.api.nvim_set_keymap('n', 'is', ':.w >> indd', {noremap = true}) -- majutsushi/tagbar vim.api.nvim_set_keymap('n', '', ':TagbarToggle', {}) -- scrooloose/nerdtree vim.api.nvim_set_keymap('n', '', ':NERDTreeToggle', {}) -- tpope/vim-fugitive vim.api.nvim_set_keymap('n', 'ga', ':Git add %:p', { noremap = true }) vim.api.nvim_set_keymap('n', 'gd', ':Git diff', { noremap = true }) vim.api.nvim_set_keymap('n', 'gc', ':Git commit', { noremap = true }) vim.api.nvim_set_keymap('n', 'gh', ':diffget //3', { noremap = true }) vim.api.nvim_set_keymap('n', 'gr', ':Gread', { noremap = true }) vim.api.nvim_set_keymap('n', 'gu', ':diffget //2', { noremap = true }) vim.api.nvim_set_keymap('n', 'gs', ':G', { noremap = true }) -- hrsh7th/nvim-cmp local on_attach = function(client, bufnr) local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end local opts = { noremap=true, silent=true } buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) buf_set_keymap('n', 'gy', 'lua vim.lsp.buf.type_definition()', opts) buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) buf_set_keymap('n', '', 'lua vim.lsp.buf.rename()', opts) end