X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/5ce1acc6d9c34ce13591dd4f6a09bd81256e75ec..2c9bc7b49893235446c5274ed0a42e1206b4ee4b:/vim/vimrc diff --git a/vim/vimrc b/vim/vimrc index 93f8bd0..d92ec16 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -1,14 +1,14 @@ +" force python3 +if has('python3') | endif + +" space is leader +let g:mapleader = " " + " runtimepath {{{1 set runtimepath ^=$XDG_CONFIG_HOME/vim set runtimepath +=$XDG_CONFIG_HOME/vim/after -" force python3 -if has('python3') | endif - " plugins {{{1 -" remove all autocommands -autocmd! - call plug#begin('$XDG_DATA_HOME/vim') " This does not update vim-plug, use PlugUpgrade instead Plug 'junegunn/vim-plug' @@ -107,6 +107,11 @@ Plug 'kana/vim-operator-user' " staging " Check LucHermites plugins: https://github.com/LucHermitte/lh-cpp +Plug 'imsnif/kdl.vim' + +Plug 'puremourning/vimspector' +Plug 'ilyachur/cmake4vim' +Plug 'ilyachur/gtest-vim' Plug 'git@github.com:/ram-z/vim-orgmode', { 'branch': 'dev' } " {{{2 Plug 'vim-scripts/syntaxrange' @@ -146,14 +151,16 @@ Plug 'jenterkin/vim-autosource' " {{{2 call plug#end() filetype plugin indent on +syntax on " colorscheme {{{1 -syntax on set background=dark let &t_8f = "\[38;2;%lu;%lu;%lum" let &t_8b = "\[48;2;%lu;%lu;%lum" set termguicolors -colorscheme $THEME +if !has('nvim') + colorscheme $THEME +endif "TODO see how I can integrate this into a theme that customises upstream Nord hi debugPC term=reverse ctermbg=8 @@ -181,6 +188,7 @@ set lazyredraw " don't redraw while executing macros set list " show chars defined in 'listchars' set listchars=tab:❭\ " list of strings used for list mode set listchars+=extends:❯,precedes:❮ +set listchars+=nbsp:␣ " Only shown when not in insert mode set listchars+=trail:· augroup trailing @@ -193,6 +201,7 @@ augroup END set scrolloff=5 " number of screen lines to show around the cursor set sidescroll=1 " number of collumns to scroll set sidescrolloff=1 " don't scroll over the listchars +set display+=lastline " display as much as possible of last line set fillchars=diff:⣿,vert:│ @@ -221,7 +230,9 @@ set ttyfast " using the mouse {{{2 set mouse=rnv " list of flags for using the mouse -set ttymouse=xterm " type of mouse +if !has('nvim') + set ttymouse=xterm " type of mouse +endif " messages and info {{{2 set showcmd " Show (partial) command in status line. @@ -252,7 +263,7 @@ set formatoptions+=l " do not wrap lines that have been longer when starting set formatoptions+=t " Auto-wrap text using textwidth set formatoptions-=o " Do not insert comment leader after hitting o or O in normal mode -set nrformats=hex " number formats recognized for CTRL-A and CTRL-X commands +set nrformats-=octal " don't inc/dec octal numbers with ^[AX] set complete=. " scan the current buffer ( 'wrapscan' is ignored) set complete+=w " scan buffers from other windows @@ -304,7 +315,9 @@ set backupskip+=.netrc " skip netrc set backupskip+=/dev/shm/pass* " skip passwordstore files set undofile " persistent undo history -set undodir=$XDG_CACHE_HOME/vim/undo// +if !has('nvim') + set undodir=$XDG_CACHE_HOME/vim/undo// +endif augroup undoskip au! @@ -347,7 +360,15 @@ set isfname-== " don't treat `=` as being part of filenames " various {{{2 set virtualedit+=block " let cursor move past last char in mode set virtualedit+=onemore " allow the cursor to move just past the end of the line -set viminfo='100,<50,s10,h,n$XDG_CACHE_HOME/vim/viminfo " viminfo defaults but save file in .cache +if !has('nvim') + " viminfo defaults but save file in .cache + set viminfo='100,<50,s10,h,n$XDG_CACHE_HOME/vim/viminfo +else + " shada is the replacement format for viminfo + " this setting is probably not needed as it's most likely the default + " the default path is in XDG_DATA_HOME, which is fine + set shada='100,<50,s10,h +endif set viewdir=$XDG_CACHE_HOME/vim/view// @@ -355,9 +376,9 @@ set sessionoptions+=unix,slash " damn windows and it's silly ways " autocmds {{{1 " Resize splits when the window is resized {{{2 -augroup resize +augroup resize_splits au! - autocmd VimResized * :wincmd = + autocmd VimResized * :tabdo wincmd = augroup END " Only show cursorline in the current window and in normal mode {{{2 @@ -374,7 +395,7 @@ augroup ft_stdin augroup END " Jump to last known cursor position {{{2 -augroup cursor_pos +augroup last_loc au! " blacklist certain filetype let blacklist = ['gitcommit'] @@ -402,16 +423,8 @@ augroup END command! NoAutoChecktime let b:autochecktime=0 command! ToggleAutoChecktime let b:autochecktime=!get(b:, 'autochecktime', 0) | echom "b:autochecktime:" b:autochecktime -augroup terminal - au! - au TerminalOpen * if &buftype == 'terminal' | setlocal bufhidden=hide | endif -augroup END - " bindings {{{1 -" allow both and \ to be -map - " make function! MakeWithOpt() " TODO only do this if makeprg matches make @@ -599,6 +612,14 @@ nmap qq :echo "hi<" . synIDattr(synID(line("."),col("."),1),"na let g:checkattach_filebrowser = 'ranger' let g:checkattach_once = 'y' +" close-another-window {{{2 +nnoremap c +nnoremap cc c +nnoremap ch :CloseLeftWindow +nnoremap cl :CloseRightWindow +nnoremap cj :CloseBelowWindow +nnoremap ck :CloseAboveWindow + " delimitmate {{{2 let delimitMate_expand_cr = 2 let g:delimitMate_expand_space = 1 @@ -663,14 +684,6 @@ nmap cog IndentGuidesToggle nmap [og IndentGuidesEnable nmap ]og IndentGuidesDisable -" close-another-window {{{2 -nnoremap c -nnoremap cc c -nnoremap ch :CloseLeftWindow -nnoremap cl :CloseRightWindow -nnoremap cj :CloseBelowWindow -nnoremap ck :CloseAboveWindow - " python-mode {{{2 let g:pymode_rope_completion = 0