From 896c311feb10e947c727a888308dbc7eb71d1ec2 Mon Sep 17 00:00:00 2001 From: NPScript Date: Sat, 9 Apr 2022 21:22:20 +0200 Subject: init commit --- .config/nvim/lua/keymap.lua | 55 +++++++++++++++++++++++++++++++++++++++++++ .config/nvim/lua/lsp.lua | 46 ++++++++++++++++++++++++++++++++++++ .config/nvim/lua/plug.lua | 22 +++++++++++++++++ .config/nvim/lua/settings.lua | 45 +++++++++++++++++++++++++++++++++++ 4 files changed, 168 insertions(+) create mode 100644 .config/nvim/lua/keymap.lua create mode 100644 .config/nvim/lua/lsp.lua create mode 100644 .config/nvim/lua/plug.lua create mode 100644 .config/nvim/lua/settings.lua (limited to '.config/nvim/lua') diff --git a/.config/nvim/lua/keymap.lua b/.config/nvim/lua/keymap.lua new file mode 100644 index 0000000..200c5cb --- /dev/null +++ b/.config/nvim/lua/keymap.lua @@ -0,0 +1,55 @@ +-- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +-- ┃ ┏┓╻┏━┓ ╻ ╻╻┏┳┓ ╻┏ ┏━╸╻ ╻┏┳┓┏━┓┏━┓┏━┓ ┃ +-- ┃ ┃┗┫┣━┫ ┃┏┛┃┃┃┃ ┣┻┓┣╸ ┗┳┛┃┃┃┣━┫┣━┛┗━┓ ┃ +-- ┃ ╹ ╹┗━┛ ┗┛ ╹╹ ╹ ╹ ╹┗━╸ ╹ ╹ ╹╹ ╹╹ ┗━┛ ┃ +-- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +vim.g.mapleader = ',' +vim.api.nvim_set_keymap("n", "C", "c", {}) +vim.api.nvim_set_keymap("n", "n", "n", {noremap = true}) +vim.api.nvim_set_keymap("n", "sc", ":so $MYVIMRC", {noremap = true}) +vim.api.nvim_set_keymap("n", "ec", ":e $MYVIMRC", {noremap = true}) +vim.api.nvim_set_keymap("n", "tn", ":tabnew", {noremap = true}) +vim.api.nvim_set_keymap("n", "tc", ":tabclose", {noremap = true}) +vim.api.nvim_set_keymap("n", "tt", ":tabnew:terma", {noremap = true}) +vim.api.nvim_set_keymap("n", "Tn", ":tnext", {noremap = true}) +vim.api.nvim_set_keymap("n", "Tp", ":tprevious", {noremap = true}) +vim.api.nvim_set_keymap("n", "Tf", ":tfirst", {noremap = true}) +vim.api.nvim_set_keymap("n", "Tl", ":tlast", {noremap = true}) +vim.api.nvim_set_keymap("n", "tselect", ":tselect", {noremap = true}) +vim.api.nvim_set_keymap("n", "Tc", ":!ctags -R --sort=yes --c++-kins=+p --filed=+iaS --extras=+q . ", {noremap = true}) + +vim.api.nvim_set_keymap("n", "f", ":Lexplore", {noremap = true}) +vim.api.nvim_set_keymap("n", "F", ":Lexplore %:p:h", {noremap = true}) + +vim.api.nvim_set_keymap("n", "zt", ":VZKFindTag", {noremap = true}) +vim.api.nvim_set_keymap("n", "zh", ":VZKHistory", {noremap = true}) + +vim.api.nvim_set_keymap("i", "(", "()i", {noremap = true}) +vim.api.nvim_set_keymap("i", ")", ":call brackify#putbracket(')')la", {noremap = true}) +vim.api.nvim_set_keymap("i", "[", "[]i", {noremap = true}) +vim.api.nvim_set_keymap("i", "]", ":call brackify#putbracket(']')la", {noremap = true}) +vim.api.nvim_set_keymap("i", "{", "{}i", {noremap = true}) +vim.api.nvim_set_keymap("i", "}", ":call brackify#putbracket('}')la", {noremap = true}) +vim.cmd('autocmd Filetype html inoremap < <>i') +vim.cmd('autocmd Filetype html inoremap > :call brackify#putbracket(">")la') + +vim.api.nvim_set_keymap("i", '"', ":call brackify#putquotes('\"')a", {noremap = true}) +vim.api.nvim_set_keymap("i", "'", ":call brackify#putquotes(\"'\")a", {noremap = true}) + +vim.api.nvim_set_keymap("v", "(", "s(pa)", {noremap = true}) +vim.api.nvim_set_keymap("v", "[", "s[pa]", {noremap = true}) +vim.api.nvim_set_keymap("v", "{", "s{pa}", {noremap = true}) +vim.api.nvim_set_keymap("v", '"', 's"pa"', {noremap = true}) +vim.api.nvim_set_keymap("v", "'", "s'pa'", {noremap = true}) +vim.cmd('autocmd Filetype c nnoremap :CSelNextArg') + +vim.api.nvim_set_keymap("n", "dB", ":GdbBreakpointToggle", {noremap = true}) +vim.api.nvim_set_keymap("n", "dn", ":GdbNext", {noremap = true}) +vim.api.nvim_set_keymap("n", "ds", ":GdbStep", {noremap = true}) +vim.api.nvim_set_keymap("n", "dr", ":GdbRun", {noremap = true}) +vim.api.nvim_set_keymap("n", "dc", ":GdbContinue", {noremap = true}) +vim.cmd('inoremap pumvisible() ? "\\" : "\\"') +vim.cmd('inoremap pumvisible() ? "\\" : "\\"') + +vim.cmd("autocmd TextChangedI * lua vim.lsp.omnifunc(1)") diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua new file mode 100644 index 0000000..41c9e16 --- /dev/null +++ b/.config/nvim/lua/lsp.lua @@ -0,0 +1,46 @@ +local clangd_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 + + -- Enable completion triggered by + buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings. + local opts = { noremap=true, silent=true } + -- See `:help vim.lsp.*` for documentation on any of the below functions + 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', 'K', 'lua vim.lsp.buf.hover()', opts) + buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) + buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) + buf_set_keymap('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) + buf_set_keymap('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) + buf_set_keymap('n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) + buf_set_keymap('n', 'D', 'lua vim.lsp.buf.type_definition()', opts) + buf_set_keymap('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + buf_set_keymap('n', 'ca', 'lua vim.lsp.buf.code_action()', opts) + buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) + buf_set_keymap('n', 'e', 'lua vim.diagnostic.open_float()', opts) + buf_set_keymap('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + buf_set_keymap('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + buf_set_keymap('n', 'q', 'lua vim.diagnostic.setloclist()', opts) + buf_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', opts) + buf_set_keymap('i', '', '', opts) + buf_set_keymap('i', '::', '::', opts) + buf_set_keymap('i', '.', '.', opts) + buf_set_keymap('i', '->', '->', opts) + buf_set_keymap('i', '', '', opts); +end + + +require('lspconfig').clangd.setup{ + cmd = { + "clangd", + "--enable-config", + "--background-index", + "--pch-storage=memory", + "--all-scopes-completion", + }, + on_attach = clangd_on_attach, +} diff --git a/.config/nvim/lua/plug.lua b/.config/nvim/lua/plug.lua new file mode 100644 index 0000000..43c036e --- /dev/null +++ b/.config/nvim/lua/plug.lua @@ -0,0 +1,22 @@ +-- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +-- ┃ ┏┓╻┏━┓ ╻ ╻╻┏┳┓ ┏━┓╻ ╻ ╻┏━╸╻┏┓╻┏━┓ ┃ +-- ┃ ┃┗┫┣━┫ ┃┏┛┃┃┃┃ ┣━┛┃ ┃ ┃┃╺┓┃┃┗┫┗━┓ ┃ +-- ┃ ╹ ╹┗━┛ ┗┛ ╹╹ ╹ ╹ ┗━╸┗━┛┗━┛╹╹ ╹┗━┛ ┃ +-- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +local Plug = vim.fn['plug#'] + +vim.call('plug#begin', '~/.local/share/nvim/plugged') + +Plug 'airblade/vim-gitgutter' +Plug 'tpope/vim-fugitive' +Plug 'scrooloose/nerdcommenter' +Plug 'neovim/nvim-lspconfig' +Plug 'NPScript/vim-zettelkasten' +Plug 'sakhnik/nvim-gdb' +Plug 'nvim-treesitter/nvim-treesitter' +Plug 'jalvesaq/Nvim-R' + +vim.call('plug#end') + + diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua new file mode 100644 index 0000000..c3bd598 --- /dev/null +++ b/.config/nvim/lua/settings.lua @@ -0,0 +1,45 @@ +-- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +-- ┃ ┏┓╻┏━┓ ╻ ╻╻┏┳┓ ┏━┓┏━╸╺┳╸╺┳╸╻┏┓╻┏━╸┏━┓ ┃ +-- ┃ ┃┗┫┣━┫ ┃┏┛┃┃┃┃ ┗━┓┣╸ ┃ ┃ ┃┃┗┫┃╺┓┗━┓ ┃ +-- ┃ ╹ ╹┗━┛ ┗┛ ╹╹ ╹ ┗━┛┗━╸ ╹ ╹ ╹╹ ╹┗━┛┗━┛ ┃ +-- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +vim.opt.shell = '/usr/bin/zsh' +vim.opt.path = "**" + +vim.cmd('colorscheme n8') + +vim.opt.mouse = 'a' +vim.opt.tabstop = 2 +vim.opt.softtabstop = 0 +vim.opt.expandtab = false +vim.opt.shiftwidth = 2 +vim.opt.smartindent = true +vim.opt.list = true; +vim.opt.listchars = { tab= '> ', eol = '¬', trail = '·', nbsp = '•'} +vim.opt.splitright = true +vim.opt.splitbelow = false +vim.opt.laststatus = 2 +vim.opt.clipboard = "unnamedplus" +vim.opt.number = true +vim.opt.showcmd = true +vim.opt.wildmenu = true +vim.opt.hlsearch = true +vim.opt.conceallevel = 2 +vim.opt.colorcolumn = "80" +vim.cmd('filetype indent on') + +vim.opt.completeopt = { "menuone", "menu", "longest", "preview", "noinsert", "noselect" } + +vim.opt.spelllang = { "de_ch", "en_us" } + +vim.g.netrw_liststyle = 3 +vim.g.netrw_banner = false +vim.g.netrw_browser_split = 2 +vim.g.netrw_keepdir = true +vim.g.netrw_winsize = 30 +vim.cmd('autocmd Filetype netrw setlocal nolist') + +vim.g.airline_powerline_fonts = true + +vim.cmd("call statusbar#refresh()") -- cgit v1.2.3-70-g09d2