vim.api.nvim_set_keymap('', '', '', { noremap = true, silent=true}) vim.g.mapleader = " " vim.g.maplocalleader = " " local options = { noremap = true, silent = true } local normal_mode_maps = { -- toggles { key = '', map = [[set number! relativenumber!]] }, -- navigation { key = '', map = [[]] }, { key = 'n', map = [[bnext]] }, { key = 'p', map = [[bprev]] }, { key = 'q', map = [[bw]] }, -- fzf { key = ';', map = [[Buffers]] }, { key = 'f', map = [[Files]] }, { key = 'g', map = [[Rg]] }, -- lsp { key = 'K', map = [[lua vim.lsp.buf.hover()]] }, { key = 'gd', map = [[lua vim.lsp.buf.definition()]] }, { key = 'gi', map = [[lua vim.lsp.buf.implementation()]] }, { key = 'o', map = [[LspTroubleToggle]] }, { key = 'a', map = [[lua vim.lsp.buf.document_highlight()]] }, { key = 'c', map = [[lua vim.lsp.buf.clear_references()]] }, { key = 'F', map = [[lua vim.lsp.buf.formatting()]] }, -- Other { key = 'm', map = [[silent !mpcfzf]] }, } local insert_mode_maps = { { key = '', map = [[pumvisible() ? "\" : "\"]], options = { noremap = true, silent = true, expr = true } }, { key = '', map = [[pumvisible() ? "\" : "\"]], options = { noremap = true, silent = true, expr = true } }, -- { key = '', map = '(completion_smart_tab)', options = { plug = true } }, -- { key = '', map = '(completion_smart_s_tab)', options = { plug = true } }, { key = '', map = '' }, } for idx = 1, #normal_mode_maps do if normal_mode_maps[idx].options then local options = normal_mode_maps[idx].options vim.api.nvim_set_keymap('n', normal_mode_maps[idx].key, normal_mode_maps[idx].map ,options) else vim.api.nvim_set_keymap('n', normal_mode_maps[idx].key, normal_mode_maps[idx].map ,options) end end for idx = 1, #insert_mode_maps do if insert_mode_maps[idx].options then local options = insert_mode_maps[idx].options vim.api.nvim_set_keymap('i', insert_mode_maps[idx].key, insert_mode_maps[idx].map ,options) else vim.api.nvim_set_keymap('i', insert_mode_maps[idx].key, insert_mode_maps[idx].map ,options) end end