From e7bb5aa7486221c7f900dfac2f03451cb66a0ca8 Mon Sep 17 00:00:00 2001 From: Julian T Date: Fri, 30 Oct 2020 22:15:12 +0100 Subject: Restructured vim --- .gitmodules | 3 + vim-core/#pre_stow.sh# | 3 + vim-core/.config/nvim/init.vim | 3 + vim-core/.vim/vimrc | 112 +++++++++++++++++++ vim-extra/.vim/extra.vim | 128 ++++++++++++++++++++++ vim/#pre_stow.sh# | 3 - vim/.config/nvim/init.vim | 3 - vim/.vimrc | 237 ----------------------------------------- 8 files changed, 249 insertions(+), 243 deletions(-) create mode 100644 .gitmodules create mode 100644 vim-core/#pre_stow.sh# create mode 100644 vim-core/.config/nvim/init.vim create mode 100644 vim-core/.vim/vimrc create mode 100644 vim-extra/.vim/extra.vim delete mode 100644 vim/#pre_stow.sh# delete mode 100644 vim/.config/nvim/init.vim delete mode 100644 vim/.vimrc diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..aa428a0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "vim-extra/.vim/bundle/Vundle.vim"] + path = vim-extra/.vim/bundle/Vundle.vim + url = https://github.com/VundleVim/Vundle.vim.git diff --git a/vim-core/#pre_stow.sh# b/vim-core/#pre_stow.sh# new file mode 100644 index 0000000..095ef6e --- /dev/null +++ b/vim-core/#pre_stow.sh# @@ -0,0 +1,3 @@ +#!/bin/sh + +mkdir -p ~/.config/nvim diff --git a/vim-core/.config/nvim/init.vim b/vim-core/.config/nvim/init.vim new file mode 100644 index 0000000..dbf8872 --- /dev/null +++ b/vim-core/.config/nvim/init.vim @@ -0,0 +1,3 @@ +set runtimepath^=~/.vim runtimepath+=~/.vim/after +let &packpath = &runtimepath +source ~/.vim/vimrc diff --git a/vim-core/.vim/vimrc b/vim-core/.vim/vimrc new file mode 100644 index 0000000..43f9910 --- /dev/null +++ b/vim-core/.vim/vimrc @@ -0,0 +1,112 @@ +set nocompatible " be iMproved, required +filetype plugin on +set shellslash + +runtime extra.vim + +filetype plugin indent on " required + +" General vim settings + syntax enable + set number + set relativenumber + + " More sensible splitting + set splitbelow splitright + + set tabstop=4 + set shiftwidth=4 + set expandtab + set colorcolumn=80 + + set autoindent + set smartindent + + " Show 5 lines above and below cursor + set scrolloff=3 + set list + set listchars=tab:>\ ,trail:-,nbsp:+ + + " Configure statusline + set laststatus=1 + + set incsearch + + if has('nvim') + " Preview substitution + set inccommand=split + endif + + set background=dark + + set hidden + + " Case insensitive search if all letters are small + set smartcase + set ignorecase + + " Persistent undo + set undofile + + set autoread + + " Exit insert mode on inactivity + " au CursorHoldI * stopinsert + +" Formatting + autocmd FileType go set noet + +" Latex stuff + let g:tex_flavor='latex' + + let g:vimtex_quickfix_blgparser = {'disable': 1} + let g:vimtex_quickfix_open_on_warning = 0 + let g:vimtex_compiler_latexmk = { + \ 'backend' : 'nvim', + \ 'background' : 0, + \ 'build_dir' : '', + \ 'callback' : 1, + \ 'continuous' : 0, + \ 'executable' : 'latexmk', + \ 'hooks' : [], + \ 'options' : [ + \ '-file-line-error', + \ '-synctex=1', + \ ], + \} + +" File management + " Fuzzy like menu + set path+=** + set wildmenu + + let g:netrw_liststyle=2 + +" Keymapping + " When moving more lines make it a jump. If couns i 2 it will run m'2j, + " thus storing it on the jumplist and then jumping + nnoremap j (v:count > 1 ? "m'" . v:count : '' ) . 'j' + nnoremap k (v:count > 1 ? "m'" . v:count : '' ) . 'k' + + " Leader stuff + let mapleader=" " + + map mm :make V=1 + map mf :make flash V=1 + +" Enforcing filetypes + autocmd BufRead,BufNewFile *.ino set filetype=c + autocmd BufRead,BufNewFile *.asc set filetype=asciidoc + autocmd BufRead,BufNewFile *.nix set filetype=nix + +" Highlightning And colors + set termguicolors + " let g:one_allow_italics = 1 + let g:gruvbox_italic = 1 + colorscheme gruvbox + + +" Spell check + set spelllang=en + autocmd FileType tex,markdown,rst set spell + diff --git a/vim-extra/.vim/extra.vim b/vim-extra/.vim/extra.vim new file mode 100644 index 0000000..c290230 --- /dev/null +++ b/vim-extra/.vim/extra.vim @@ -0,0 +1,128 @@ +" Plugins + " set the runtime path to include Vundle and initialize + set rtp+=~/.vim/bundle/Vundle.vim + call vundle#begin() + " alternatively, pass a path where Vundle should install plugins + "call vundle#begin('~/some/path/here') + + " let Vundle manage Vundle, required + Plugin 'VundleVim/Vundle.vim' + + " Completion + Plugin 'prabirshrestha/vim-lsp' + Plugin 'ajh17/VimCompletesMe' + Plugin 'Shougo/echodoc.vim' + + " Installed through vim-core + Plugin 'tpope/vim-surround' + Plugin 'tpope/vim-repeat' + Plugin 'tpope/vim-unimpaired' + Plugin 'tpope/vim-commentary' + + Plugin 'godlygeek/tabular' + + " Editor config + Plugin 'sgur/vim-editorconfig' + + " Color theme + " Plugin 'agude/vim-eldar' + " Plugin 'ntk148v/vim-horizon' + " Plugin 'rakr/vim-colors-rakr' + " Plugin 'rakr/vim-one' + Plugin 'morhetz/gruvbox' + " Plugin 'ntk148v/vim-horizon' + + " Git + Plugin 'tpope/vim-fugitive' + + " File support + " Plugin 'cespare/vim-toml' + "Plugin 'lervag/vimtex' + " Plugin 'aklt/plantuml-syntax' + " Plugin 'LnL7/vim-nix' + + " Plugin 'vimwiki/vimwiki' + + + " Snippits + " Plugin 'SirVer/ultisnips' + " Plugin 'honza/vim-snippets' + + call vundle#end() " required + +" Completion + set completeopt+=menuone + set completeopt+=noselect + + if has('nvim') + let g:echodoc#enable_at_startup = 1 + let g:echodoc#type = 'virtual' + endif + + " Lsp options + let g:lsp_signature_help_enabled = 0 + let g:lsp_insert_text_enabled = 0 + let g:lsp_virtual_text_enabled = 0 + let g:lsp_diagnostics_echo_cursor = 1 + let g:lsp_highlights_enabled = 0 + let g:lsp_textprop_enabled = 0 + let g:lsp_signs_enabled = 1 + + " Close completion window + autocmd CompleteDone * pclose + + " Setup lsp servers + if executable('pyls') + au User lsp_setup call lsp#register_server({ + \ 'name': 'python', + \ 'cmd': {server_info->['pyls']}, + \ 'whitelist': ['python', 'py'], + \ }) + endif + if executable('clangd') + au User lsp_setup call lsp#register_server({ + \ 'name': 'clangd', + \ 'cmd': {server_info->['clangd']}, + \ 'whitelist': ['c', 'cpp'], + \ }) + endif + if executable('gopls') + au User lsp_setup call lsp#register_server({ + \ 'name': 'golang', + \ 'cmd': {server_info->['gopls']}, + \ 'whitelist': ['go'], + \ }) + endif + if executable('rls') + au User lsp_setup call lsp#register_server({ + \ 'name': 'rust', + \ 'cmd': {server_info->['rls']}, + \ 'whitelist': ['rust', 'rs'], + \ }) + endif + if executable('solargraph') + au User lsp_setup call lsp#register_server({ + \ 'name': 'ruby', + \ 'cmd': {server_info->['solargraph', 'stdio']}, + \ 'whitelist': ['ruby', 'rb'], + \ }) + endif + + " Enable csp if available, stolen from lsp github + function! s:on_lsp_buffer_enabled() abort + echo "Enabling lsp" + set omnifunc=lsp#complete + let b:vcm_tab_complete = 'omni' + set signcolumn=yes + nmap gd (lsp-definition) + nmap (lsp-rename) + nmap zF (lsp-code-action) + " refer to doc to add more commands + endfunction + + augroup lsp_install + au! + " call s:on_lsp_buffer_enabled only for languages that has the server registered. + autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled() + augroup END + diff --git a/vim/#pre_stow.sh# b/vim/#pre_stow.sh# deleted file mode 100644 index 095ef6e..0000000 --- a/vim/#pre_stow.sh# +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -mkdir -p ~/.config/nvim diff --git a/vim/.config/nvim/init.vim b/vim/.config/nvim/init.vim deleted file mode 100644 index f182e5b..0000000 --- a/vim/.config/nvim/init.vim +++ /dev/null @@ -1,3 +0,0 @@ -set runtimepath^=~/.vim runtimepath+=~/.vim/after -let &packpath = &runtimepath -source ~/.vimrc diff --git a/vim/.vimrc b/vim/.vimrc deleted file mode 100644 index 8e42bf6..0000000 --- a/vim/.vimrc +++ /dev/null @@ -1,237 +0,0 @@ -set nocompatible " be iMproved, required -filetype plugin on -set shellslash - -" Plugins - " set the runtime path to include Vundle and initialize - set rtp+=~/.vim/bundle/Vundle.vim - call vundle#begin() - " alternatively, pass a path where Vundle should install plugins - "call vundle#begin('~/some/path/here') - - " let Vundle manage Vundle, required - Plugin 'VundleVim/Vundle.vim' - - " Completion - Plugin 'prabirshrestha/vim-lsp' - Plugin 'ajh17/VimCompletesMe' - Plugin 'Shougo/echodoc.vim' - - Plugin 'tpope/vim-surround' - Plugin 'tpope/vim-repeat' - Plugin 'tpope/vim-unimpaired' - Plugin 'tpope/vim-commentary' - - Plugin 'godlygeek/tabular' - - " Editor config - Plugin 'sgur/vim-editorconfig' - - " Color theme - " Plugin 'agude/vim-eldar' - " Plugin 'ntk148v/vim-horizon' - " Plugin 'rakr/vim-colors-rakr' - " Plugin 'rakr/vim-one' - Plugin 'morhetz/gruvbox' - " Plugin 'ntk148v/vim-horizon' - - " Git - Plugin 'tpope/vim-fugitive' - - " File support - " Plugin 'cespare/vim-toml' - "Plugin 'lervag/vimtex' - Plugin 'aklt/plantuml-syntax' - Plugin 'LnL7/vim-nix' - - " Plugin 'vimwiki/vimwiki' - - - " Snippits - " Plugin 'SirVer/ultisnips' - " Plugin 'honza/vim-snippets' - - call vundle#end() " required - filetype plugin indent on " required - -" Completion - set completeopt+=menuone - " set completeopt+=noselect - - if has('nvim') - let g:echodoc#enable_at_startup = 1 - let g:echodoc#type = 'virtual' - endif - - " Lsp options - let g:lsp_signature_help_enabled = 0 - let g:lsp_insert_text_enabled = 0 - let g:lsp_virtual_text_enabled = 0 - let g:lsp_diagnostics_echo_cursor = 1 - let g:lsp_highlights_enabled = 0 - let g:lsp_textprop_enabled = 0 - let g:lsp_signs_enabled = 1 - - " Close completion window - autocmd CompleteDone * pclose - - " Setup lsp servers - if executable('pyls') - au User lsp_setup call lsp#register_server({ - \ 'name': 'python', - \ 'cmd': {server_info->['pyls']}, - \ 'whitelist': ['python', 'py'], - \ }) - endif - if executable('clangd') - au User lsp_setup call lsp#register_server({ - \ 'name': 'clangd', - \ 'cmd': {server_info->['clangd']}, - \ 'whitelist': ['c', 'cpp'], - \ }) - endif - if executable('gopls') - au User lsp_setup call lsp#register_server({ - \ 'name': 'golang', - \ 'cmd': {server_info->['gopls']}, - \ 'whitelist': ['go'], - \ }) - endif - if executable('rls') - au User lsp_setup call lsp#register_server({ - \ 'name': 'rust', - \ 'cmd': {server_info->['rls']}, - \ 'whitelist': ['rust', 'rs'], - \ }) - endif - if executable('solargraph') - au User lsp_setup call lsp#register_server({ - \ 'name': 'ruby', - \ 'cmd': {server_info->['solargraph', 'stdio']}, - \ 'whitelist': ['ruby', 'rb'], - \ }) - endif - - " Enable csp if available, stolen from lsp github - function! s:on_lsp_buffer_enabled() abort - echo "Enabling lsp" - set omnifunc=lsp#complete - let b:vcm_tab_complete = 'omni' - set signcolumn=yes - nmap gd (lsp-definition) - nmap (lsp-rename) - nmap zF (lsp-code-action) - " refer to doc to add more commands - endfunction - - augroup lsp_install - au! - " call s:on_lsp_buffer_enabled only for languages that has the server registered. - autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled() - augroup END - -" General vim settings - syntax enable - set number - set relativenumber - - " More sensible splitting - set splitbelow splitright - - set tabstop=4 - set shiftwidth=4 - set expandtab - set colorcolumn=80 - - set autoindent - set smartindent - - " Show 5 lines above and below cursor - set scrolloff=3 - set list - set listchars=tab:>\ ,trail:-,nbsp:+ - - " Configure statusline - set laststatus=1 - - if has('nvim') - " Preview substitution - set inccommand=split - endif - - set background=light - - set hidden - - " Case insensitive search if all letters are small - set smartcase - set ignorecase - - " Persistent undo - set undofile - - set autoread - - " Exit insert mode on inactivity - " au CursorHoldI * stopinsert - -" Formatting - autocmd FileType go Har vi ikke set noet - -" Vimwiki stuff - let g:vimwiki_list = [{'path': '~/Documents/vimwiki', 'path_html': '~/Documents/vimwiki/export'}] - -" Latex stuff - let g:tex_flavor='latex' - - let g:vimtex_quickfix_blgparser = {'disable': 1} - let g:vimtex_quickfix_open_on_warning = 0 - let g:vimtex_compiler_latexmk = { - \ 'backend' : 'nvim', - \ 'background' : 0, - \ 'build_dir' : '', - \ 'callback' : 1, - \ 'continuous' : 0, - \ 'executable' : 'latexmk', - \ 'hooks' : [], - \ 'options' : [ - \ '-file-line-error', - \ '-synctex=1', - \ ], - \} - -" File management - " Fuzzy like menu - set path+=** - set wildmenu - - let g:netrw_liststyle=2 - -" Keymapping - " When moving more lines make it a jump. If couns i 2 it will run m'2j, - " thus storing it on the jumplist and then jumping - nnoremap j (v:count > 1 ? "m'" . v:count : '' ) . 'j' - nnoremap k (v:count > 1 ? "m'" . v:count : '' ) . 'k' - - " Leader stuff - let mapleader=" " - - map mm :make V=1 - map mf :make flash V=1 - -" Enforcing filetypes - autocmd BufRead,BufNewFile *.ino set filetype=c - autocmd BufRead,BufNewFile *.asc set filetype=asciidoc - autocmd BufRead,BufNewFile *.nix set filetype=nix - -" Highlightning And colors - set termguicolors - " let g:one_allow_italics = 1 - let g:gruvbox_italic = 1 - colorscheme gruvbox - - -" Spell check - set spelllang=en - autocmd FileType tex,markdown,rst set spell - -- cgit v1.2.3