summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohannst <johannes.stoelp@gmail.com>2021-04-10 00:01:31 +0200
committerjohannst <johannes.stoelp@gmail.com>2021-04-10 00:01:31 +0200
commite16094582b32adb48c47f9e3437a2d64f34e46b3 (patch)
tree9fa688fcfad51cf37bca80133edbee294af32bf1
parentbce7a87969ae3963a89bb8e4cfe7cf782c40ed4e (diff)
downloaddotfiles-e16094582b32adb48c47f9e3437a2d64f34e46b3.tar.gz
dotfiles-e16094582b32adb48c47f9e3437a2d64f34e46b3.zip
added nvim experimental
-rw-r--r--nvim.init.vim.experimental92
1 files changed, 92 insertions, 0 deletions
diff --git a/nvim.init.vim.experimental b/nvim.init.vim.experimental
new file mode 100644
index 0000000..015532c
--- /dev/null
+++ b/nvim.init.vim.experimental
@@ -0,0 +1,92 @@
+let mapleader=" "
+
+" -----------------
+" Plugins.
+" -----------------
+
+call plug#begin('~/.nvim/plugged')
+ Plug 'gruvbox-community/gruvbox'
+ Plug 'neovim/nvim-lspconfig'
+call plug#end()
+
+" -----------------
+" Setters.
+" -----------------
+
+set termguicolors
+set background=dark
+colorscheme gruvbox
+
+set relativenumber
+set number
+set expandtab
+set signcolumn=yes
+
+set mouse=a
+set scrolloff=8
+
+set tabstop=4
+set softtabstop=4
+set shiftwidth=4
+set smartindent
+set expandtab
+
+set list
+set listchars=tab:>-,trail:-
+
+set hidden
+set nobackup
+set noswapfile
+
+set hlsearch
+set incsearch
+
+if executable('rg')
+ set grepprg=rg\ --vimgrep
+endif
+
+" -----------------
+" LSP & Complete.
+" -----------------
+
+set completeopt=menuone,noinsert,noselect
+
+lua << EOF
+local on_attach = function(_client, bufnr)
+ -- Install `omnifunc` completion handler, get completion with <C-x><C-o>.
+ vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
+
+ -- Key mappings.
+ local opts = { noremap=true, silent=true }
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "<C-]>", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>r", "<Cmd>lua vim.lsp.buf.references()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>i", "<Cmd>lua vim.lsp.buf.implementation()<CR>", opts)
+end
+
+-- Setup rust-analyzer.
+require'lspconfig'.rust_analyzer.setup {
+ on_attach = on_attach,
+}
+
+-- Setup clangd.
+require'lspconfig'.clangd.setup {
+ cmd = { "clangd", "--background-index", "--completion-style=detailed" },
+ on_attach = on_attach,
+}
+EOF
+
+" -----------------
+" Mappings.
+" -----------------
+
+vnoremap <leader>p "_dP
+
+" -----------------
+" Autogroups.
+" -----------------
+
+augroup AG_highlight_yank
+ autocmd!
+ autocmd TextYankPost * silent! lua require'vim.highlight'.on_yank({timeout = 300})
+augroup END