set nocompatible set viminfo='100,<50,s10,h,n~/.config/nvim/info set noswapfile "let g:did_load_filetypes=1 source ~/.config/nvim/functions.vim augroup packer_user_config autocmd! autocmd BufWritePost ~/.config/nvim/lua/plugins/init.lua source | PackerCompile augroup end augroup mine au! let g:neovide_cursor_animation_length = 0 set guifont=iosevka:h11.5 "autocmd mine bufnewfile,bufread *.h set filetype=c " autocmd mine bufnewfile,bufread * " \if !exists("b:gradleLoaded") && filereadable("build.gradle") | " \source /home/simon/.config/nvim/gradle.vim | " \let b:gradleLoaded=1 | " \endif " " autocmd mine BufNewFile,BufRead * " \if !exists("b:cmakeLoaded") && filereadable("CMakeLists.txt") | " \source /home/simon/.config/nvim/cmake.vim | " \let b:cmakeLoaded=1 | " \endif " " autocmd mine BufNewFile,BufRead * " \if !exists("b:makeLoaded") && (filereadable("makefile") || filereadable("Makefile") ) | " \source /home/simon/.config/nvim/make.vim | " \let b:makeLoaded=1 | " \endif " " autocmd mine BufNewFile,BufRead * " \if !exists("b:cargoLoaded") && filereadable("Cargo.toml") | " \source /home/simon/.config/nvim/cargo.vim | " \let b:cargoLoaded=1 | " \endif " autocmd mine TermOpen term://* startinsert | " \setlocal nonumber | " \setlocal norelativenumber | " \setlocal ft=term "autocmd mine BufWinEnter,WinEnter term://* startinsert "autocmd mine BufLeave term://* stopinsert " augroup autoquickfix " autocmd! " autocmd QuickFixCmdPost [^l]* cwindow " autocmd QuickFixCmdPost l* lwindow " augroup END let w:stFt="" let w:stFn="" let w:fpRel="" "add WinEnter for floating windows. "BufEnter for / autocmd mine QuickFixCmdPost,BufRead,WinNew,TermOpen,SourcePost,WinEnter,BufWinEnter * \let w:stFt=FiletypeClean() | \let w:stFn=FilenameClean() | \let w:fpRel=FilepathClean() | \setlocal statusline=%!Statusline() autocmd mine FileType * \let w:stFt=FiletypeClean() | \setlocal statusline=%!Statusline() autocmd mine BufWrite,BufRead,TabNew * let g:branches=BranchClean() autocmd mine VimEnter * let g:branches=[''] autocmd mine TextYankPost * silent! lua vim.highlight.on_yank{on_visual=false, higroup="Visual"} augroup END set fillchars=fold:\ ,vert:│ " set foldtext=MyFoldText() set foldmethod=manual set foldminlines=1 set grepprg=rg\ --vimgrep set grepformat^=%f:%l:%c:%m "Style set termguicolors set pumblend=15 syntax on let g:gruvbox_italic='1' let g:gruvbox_contrast_dark='hard' let g:gruvbox_sign_column='bg0' let g:gruvbox_invert_selection=0 let g:gruvbox_termcolors=256 set background=dark colorscheme gruvbox ""airline "let g:airline_powerline_fonts=1 "let g:airline_theme='gruvbox' "let g:airline#extensions#tabline#enabled = 1 "let g:airline#extensions#tabline#tab_nr_type = 1 "let g:airline#extensions#tabline#show_splits = 1 "let g:airline#extensions#tabline#show_buffers = 0 "let g:airline#extensions#tabline#exclude_preview = 1 "let g:airline#extensions#tabline#show_close_button = 0 "let g:airline#extensions#tabline#show_splits = 0 "let g:airline#extensions#tabline#show_tab_count = 0 "Tabline hi TabLine guibg=#1d2021 guifg=#504945 gui=none hi TabLineSel guibg=0 guifg=229 gui=none "Statusline hi Status1 guibg=#fabd2f guifg=#1d2021 gui=bold hi Status2 guibg=#fe8019 guifg=#1d2021 gui=bold hi Status3 guibg=#83a598 guifg=#1d2021 gui=bold hi User1 guibg=#3c3836 guifg=#1d2021 hi StatusLine guibg=#3c3836 guifg=#1d2021 hi StatusLineNC guibg=#282828 guifg=#1d2021 hi Folded guibg= cterm=none gui=none hi FloatBorder guibg=#1d2021 guifg=#504945 hi! TSVariable guifg=#ebdbb2 "hi! link TSParameter Normal hi! TSField guifg=#ebdbb2 hi GruvboxRed guifg=#d75151 hi UnderlineTransparent gui=underline hi link LspReferenceText CursorLine hi link LspReferenceRead CursorLine hi link LspReferenceWrite CursorLine hi link LspProperty GruvboxBlue hi link LspFunction GruvboxOrangeBold hi link LspMethod GruvboxBlueBold hi link LspNamespace GruvboxAqua hi link LspType GruvboxYellow hi link LspString GruvboxYellow hi link LspClass LspType hi link LspVariable GruvboxFg1 hi link LspStatic LspProperty hi link LspEnumMember GruvboxPurple "hi! TSParameter guifg=#ebdbb2 gui=bold hi! link TSParameter GruvboxFg1 hi! link TSFunction GruvboxOrangeBold hi! TSStringEscape gui=bold set laststatus=2 set showtabline=2 let g:branches=BranchClean() set tabline=%!MyTabLine() "Searching set hlsearch set incsearch set showmatch "Tabstops set tabstop=4 set noexpandtab set softtabstop=4 set shiftwidth=4 set autoindent set nocindent set copyindent set listchars+=tab:→\ ,trail:␣,space:· "Misc set relativenumber set number set numberwidth=2 set wildmode=longest,list set lazyredraw set mouse=a set splitbelow set splitright set switchbuf+=useopen set virtualedit=block set signcolumn=auto set updatetime=1000 "lsp "set completeopt=menuone,noinsert,noselect set shortmess+=c "hi link LspDiagnosticsVirtualTextError CocErrorSign "hi link LspDiagnosticsVirtualTextWarning CocWarningSign "hi link LspDiagnosticsVirtualTextInformation CocInfoSign "hi link LspDiagnosticsVirtualTextHint CocHintSign " "hi link LspDiagnosticsDefaultError Error "hi link LspDiagnosticsDefaultWarning Warning "hi link LspDiagnosticsDefaultInformation Info "hi link LspDiagnosticsDefaultHint Hint " "hi link LspDiagnosticsSignError CocErrorSign "hi link LspDiagnosticsSignWarning CocWarningSign "hi link LspDiagnosticsSignInformation CocInfoSign "hi link LspDiagnosticsSignHint CocHintSign hi link HopNextKey GruvboxRedBold hi link HopNextKey1 GruvboxBlueBold hi link HopNextKey2 GruvboxBlue hi link HopUnmatched NonText hi! link DiagnosticDefaultError GruvboxRed hi! link DiagnosticSignError GruvboxRedSign hi! link DiagnosticUnderlineError GruvboxRedUnderline hi! link DiagnosticVirtualTextError DiagnosticDefaultError hi! link DiagnosticFloatingError DiagnosticDefaultError hi! link DiagnosticDefaultWarn GruvboxYellow hi! link DiagnosticSignWarn GruvboxYellowSign hi! link DiagnosticUnderlineWarn GruvboxYellowUnderline hi! link DiagnosticVirtualTextWarn DiagnosticDefaultWarn hi! link DiagnosticFloatingWarn DiagnosticDefaultWarn hi! link DiagnosticDefaultInfo GruvboxBlue hi! link DiagnosticSignInfo GruvboxBlueSign hi! link DiagnosticUnderlineInfo GruvboxBlueUnderline hi! link DiagnosticVirtualTextInfo DiagnosticDefaultInfo hi! link DiagnosticFloatingInfo DiagnosticDefaultInfo hi! link DiagnosticDefaultHint GruvboxAqua hi! link DiagnosticSignHint GruvboxAquaSign hi! link DiagnosticUnderlineHint GruvboxAquaUnderline hi! link DiagnosticVirtualTextHint DiagnosticDefaultHint hi! link DiagnosticFloatingHint DiagnosticDefaultHint sign define DiagnosticSignError text= texthl=DiagnosticSignError linehl= numhl= sign define DiagnosticSignWarn text= texthl=DiagnosticSignWarn linehl= numhl= sign define DiagnosticSignInfo text= texthl=DiagnosticSignInfo linehl= numhl= sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl= "Keymappings let mapleader="," let maplocalleader="" lua require('init') set completeopt=menuone "inoremap lua return require'snippets'.expand_or_advance(1) "inoremap lua return require'snippets'.advance_snippet(-1) let g:Illuminate_delay = 800 "cannot set in lua or stupid "let g:completion_confirm_key = "\" "imap (completion_trigger) "Ultisnips "let g:UltiSnipsJumpBackwardTrigger="" "let g:UltiSnipsExpandTrigger="" "let g:UltiSnipsJumpForwardTrigger="" "let g:UltiSnipsSnippetDirectories=['mySnippets'] "let g:coc_snippet_next = '' "let g:coc_snippet_prev = '' "xmap (coc-snippets-select) " "inoremap " \ coc#expandableOrJumpable() ? " \ "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : " \ "\" " "VimTex let g:tex_flavor='latex' set conceallevel=2 let g:tex_conceal='abdmgs' "Vimspector "nnoremap :call vimspector#ToggleBreakpoint() "nnoremap :call vimspector#StepOver() "nnoremap :call vimspector#StepInto() "nnoremap :call vimspector#Continue() " nvim-dap "Other noremap :vsp noremap :sp function! CToggle() if empty(filter(getwininfo(), 'v:val.quickfix')) copen else cclose endif endfunction noremap n :noh noremap l :set invlist noremap r :set invrelativenumber noremap o :tabnew:e ~/Documents/base:normal gh noremap fw :set invwinfixwidth noremap fh :set invwinfixheight noremap f :luafile % noremap g :silent grep noremap t :call CToggle() "end on closig paranthesis. vnoremap ( `>a)`% vnoremap { `>a}`% vnoremap [ `>a]`% vnoremap " `>a"`% vnoremap ' `>a'`% vnoremap `>a `% vnoremap c `>a*/` nnoremap uc ?\/\*2x/*/\/2x " Search for selected text, forwards or backwards. vnoremap * : \let old_reg=getreg('"')let old_regtype=getregtype('"') \gvy/=&ic?'\c':'\C'=substitute( \escape(@", '/\.*$^~['), '\_s\+', '\\_s\\+', 'g') \gVzv:call setreg('"', old_reg, old_regtype) vnoremap # : \let old_reg=getreg('"')let old_regtype=getregtype('"') \gvy?=&ic?'\c':'\C'=substitute( \escape(@", '?\.*$^~['), '\_s\+', '\\_s\\+', 'g') \gVzv:call setreg('"', old_reg, old_regtype) nnoremap ( viw`>a)`% nnoremap { viw`>a}`% nnoremap [ viw`>a]`% nnoremap " viw`>a"`% nnoremap ' viw`>a'`% nnoremap ' viw`>a `% nnoremap nnoremap nnoremap nnoremap noremap :vnew:term noremap :new:term nnoremap :vert res +2 nnoremap :vert res -2 nnoremap :res +2 nnoremap :res -2 nnoremap ev :tabedit $MYVIMRC:exe 'tcd'.expand('%:h') noremap ep :tabnew:e /home/simon/.config/nvim/lua/plugins/:normal gh:tcd /home/simon/.config/nvim/lua/plugins/ noremap eq :tabnew:e /home/simon/.config/nvim/queries:normal gh:tcd /home/simon/.config/nvim/queries/ noremap ec :tabnew /home/simon/.config/nvim/lua/configs/project_configs.lua noremap ef :tabnew /home/simon/.config/nvim/lua/configs/file_configs.lua nnoremap sv :source $MYVIMRC nnoremap pa :call ParanAdd() nnoremap gb :ls:b nnoremap [[ ?{\n:noh nnoremap ][ /{\n:noh nnoremap ]] /}\n:noh nnoremap [] ?}\n:noh inoremap g~iwea inoremap viwUea inoremap tnoremap :let b:mode="i"j tnoremap :let b:mode="i"k tnoremap :let b:mode="i"l tnoremap :let b:mode="i"h tnoremap tnoremap :let b:mode="n" tnoremap :vert res +2a tnoremap :vert res -2a tnoremap :res +2a tnoremap :res -2a cabbr && expand('%:p:.:h') cabbr invim /home/simon/.config/nvim/init.vim cabbr pacconf /home/simon/.config/nvim/lua/plugins/init.lua if filereadable('.vProj.vim') source .vProj.vim endif