aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua
diff options
context:
space:
mode:
authorNPScript <nathan@reinerweb.ch>2022-04-09 21:22:20 +0200
committerNPScript <nathan@reinerweb.ch>2022-04-09 21:22:20 +0200
commit896c311feb10e947c727a888308dbc7eb71d1ec2 (patch)
treeb6713478d14eb8ea531107c3f399c437db7fd2fb /.config/nvim/lua
init commit
Diffstat (limited to '.config/nvim/lua')
-rw-r--r--.config/nvim/lua/keymap.lua55
-rw-r--r--.config/nvim/lua/lsp.lua46
-rw-r--r--.config/nvim/lua/plug.lua22
-rw-r--r--.config/nvim/lua/settings.lua45
4 files changed, 168 insertions, 0 deletions
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", "<leader>C", "<leader>c<space>", {})
+vim.api.nvim_set_keymap("n", "<leader>n", "<C-w>n", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>sc", ":so $MYVIMRC<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>ec", ":e $MYVIMRC<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>tn", ":tabnew<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>tc", ":tabclose<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>tt", ":tabnew<CR>:term<CR>a", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>Tn", ":tnext<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>Tp", ":tprevious<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>Tf", ":tfirst<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>Tl", ":tlast<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>tselect", ":tselect<Space>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>Tc", ":!ctags -R --sort=yes --c++-kins=+p --filed=+iaS --extras=+q . <CR><CR>", {noremap = true})
+
+vim.api.nvim_set_keymap("n", "<leader>f", ":Lexplore<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>F", ":Lexplore %:p:h<CR>", {noremap = true})
+
+vim.api.nvim_set_keymap("n", "<leader>zt", ":VZKFindTag<CR>", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>zh", ":VZKHistory<CR>", {noremap = true})
+
+vim.api.nvim_set_keymap("i", "(", "()<Esc>i", {noremap = true})
+vim.api.nvim_set_keymap("i", ")", "<ESC>:call brackify#putbracket(')')<CR>la", {noremap = true})
+vim.api.nvim_set_keymap("i", "[", "[]<Esc>i", {noremap = true})
+vim.api.nvim_set_keymap("i", "]", "<ESC>:call brackify#putbracket(']')<CR>la", {noremap = true})
+vim.api.nvim_set_keymap("i", "{", "{}<Esc>i", {noremap = true})
+vim.api.nvim_set_keymap("i", "}", "<ESC>:call brackify#putbracket('}')<CR>la", {noremap = true})
+vim.cmd('autocmd Filetype html inoremap <buffer> < <><ESC>i')
+vim.cmd('autocmd Filetype html inoremap <buffer> > <ESC>:call brackify#putbracket(">")<CR>la')
+
+vim.api.nvim_set_keymap("i", '"', "<ESC>:call brackify#putquotes('\"')<CR>a", {noremap = true})
+vim.api.nvim_set_keymap("i", "'", "<ESC>:call brackify#putquotes(\"'\")<CR>a", {noremap = true})
+
+vim.api.nvim_set_keymap("v", "(", "s(<ESC>pa)", {noremap = true})
+vim.api.nvim_set_keymap("v", "[", "s[<ESC>pa]", {noremap = true})
+vim.api.nvim_set_keymap("v", "{", "s{<ESC>pa}", {noremap = true})
+vim.api.nvim_set_keymap("v", '"', 's"<ESC>pa"', {noremap = true})
+vim.api.nvim_set_keymap("v", "'", "s'<ESC>pa'", {noremap = true})
+vim.cmd('autocmd Filetype c nnoremap <buffer> <tab> :CSelNextArg<Cr>')
+
+vim.api.nvim_set_keymap("n", "<leader>dB", ":GdbBreakpointToggle", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>dn", ":GdbNext", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>ds", ":GdbStep", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>dr", ":GdbRun", {noremap = true})
+vim.api.nvim_set_keymap("n", "<leader>dc", ":GdbContinue", {noremap = true})
+vim.cmd('inoremap <expr> <Tab> pumvisible() ? "\\<C-n>" : "\\<Tab>"')
+vim.cmd('inoremap <expr> <S-Tab> pumvisible() ? "\\<C-p>" : "\\<S-Tab>"')
+
+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 <c-x><c-o>
+ 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', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
+ buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
+ buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
+ buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
+ buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
+ buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
+ buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
+ buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
+ buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
+ buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
+ buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
+ buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
+ buf_set_keymap('n', '<space>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
+ buf_set_keymap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
+ buf_set_keymap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
+ buf_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
+ buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
+ buf_set_keymap('i', '<c-space>', '<c-x><c-o>', opts)
+ buf_set_keymap('i', '::', '::<c-x><c-o>', opts)
+ buf_set_keymap('i', '.', '.<c-x><c-o>', opts)
+ buf_set_keymap('i', '->', '-><c-x><c-o>', opts)
+ buf_set_keymap('i', '<BS>', '<BS><c-x><c-o>', 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()")