set nocompatible set mouse= " Enable Elite mode, No ARRRROWWS!!!! let g:elite_mode=1 if get(g:, 'elite_mode') nnoremap :resize +2 nnoremap :resize -2 nnoremap :vertical resize +2 nnoremap :vertical resize -2 endif nnoremap K getline('.')[col('.')-1]==' ' ? "r" : "i" " Enable highlighting of the current line set cursorline " leader let mapleader = ',' let maplocalleader = ',' " save on ctrl-s nnoremap :w inoremap :w set hidden syntax on set hlsearch set ignorecase set smartcase set number " mappings to stop insert mode imap jjj imap kkk imap lll imap hhh set scroll=11 " new mappings noremap noremap noremap :tabn noremap :tabp let g:ctrlp_map = '' set wildignore+=*/site/*,*.so,*.swp,*.zip let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn|)$$', \ 'file': '\v\.(exe|so|dll)$$', \ } "let g:ctrlp_match_func = { 'match': 'pymatcher#PyMatch' } "let g:pydiction_location = '~/.vim/bundle/pydiction/complete-dict' " always show status line set ls=2 " let g:airline#extensions#tabline#formatter = 'default' " let g:airline#extensions#tabline#enabled=1 let g:airline_theme='papercolor' set tabstop=4 set shiftwidth=4 set softtabstop=4 set expandtab "set textwidth=80 set backspace=indent,eol,start set wildignore+=*/site/*,*.so,*.swp,*.zip let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn|)$$', \ 'file': '\v\.(exe|so|dll)$$', \ } " } " spelling {{{ au BufRead,BufNewFile *.txt,*.tex,*.md,*.markdown setlocal spell spelllang=en_us,de_de " }}} " sync default register to clipboard { if has('unnamedplus') set clipboard=unnamedplus else set clipboard=unnamed endif " } " colored brackets { let g:rbpt_colorpairs = [ \ ['brown', 'RoyalBlue3'], \ ['Darkblue', 'SeaGreen3'], \ ['darkgray', 'DarkOrchid3'], \ ['darkgreen', 'firebrick3'], \ ['darkcyan', 'RoyalBlue3'], \ ['darkred', 'SeaGreen3'], \ ['darkmagenta', 'DarkOrchid3'], \ ['brown', 'firebrick3'], \ ['gray', 'RoyalBlue3'], \ ['black', 'SeaGreen3'], \ ['darkmagenta', 'DarkOrchid3'], \ ['Darkblue', 'firebrick3'], \ ['darkgreen', 'RoyalBlue3'], \ ['darkcyan', 'SeaGreen3'], \ ['darkred', 'DarkOrchid3'], \ ['red', 'firebrick3'], \ ] let g:rbpt_max = 16 let g:rbpt_loadcmd_toggle = 0 au VimEnter * RainbowParenthesesToggle au Syntax * RainbowParenthesesLoadRound au Syntax * RainbowParenthesesLoadSquare au Syntax * RainbowParenthesesLoadBraces " } set t_ut= set background=light colorscheme PaperColor " Python {{{ augroup ft_python au! au FileType python setlocal omnifunc=pythoncomplete#Complete au FileType python setlocal define=^\s*\\(def\\\\|class\\) augroup END " }}} " YAML {{{ augroup ft_yaml au! setlocal tabstop=2 shiftwidth=2 softtabstop=2 expandtab augroup END " }}} " markdown { augroup filetypedetect " gitit page files au BufRead,BufNewFile *.page set filetype=markdown augroup END " Cycle between the valid list item markers *, - and + in the TOC let g:vmt_cycle_list_item_markers = 1 " } markdown let g:indent_guides_enable_on_vim_startup = 1 "bazel augroup filetypedetect au BufRead,BufNewFile *.bazel set filetype=bzl augroup END "Justfile augroup filetypedetect au BufRead,BufNewFile Justfile set filetype=make augroup END augroup VCenterCursor au! au BufEnter,WinEnter,WinNew,VimResized *,*.* \ let &scrolloff=winheight(win_getid())/2 augroup END " " deoplete { " let g:deoplete#enable_at_startup = 1 " let g:deoplete#num_processes = 1 " let g:deoplete#enable_smart_case = 1 " " if !exists('g:deoplete#omni#input_patterns') " let g:deoplete#omni#input_patterns = {} " endif " let g:deoplete#omni#input_patterns.tex = g:vimtex#re#deoplete " " } deoplete " enable ncm2 for all buffers autocmd BufEnter * call ncm2#enable_for_buffer() set completeopt=noinsert,menuone,noselect " LanguageClient { set hidden let g:LanguageClient_serverCommands = { \ 'rust': ['rustup', 'run', 'stable', 'rls'], \ 'javascript.jsx': ['tcp://127.0.0.1:2089'], \ } " \ 'javascript': ['/usr/local/bin/javascript-typescript-stdio'], " \ 'python': ['/usr/local/bin/pyls'], nnoremap :call LanguageClient_contextMenu() " Or map each action separately nnoremap K :call LanguageClient#textDocument_hover() nnoremap gd :call LanguageClient#textDocument_definition() nnoremap :call LanguageClient#textDocument_rename() " } let g:vimtex_view_method = 'zathura' let g:vimtex_complete_enabled = 1 let g:vimtex_complete_close_braces = 1 let g:vimtex_complete_recursive_bib = 1 let g:vimtex_indent_enabled = 1 let g:vimtex_indent_bib_enabled = 1 let g:vimtex_fold_enabled = 1 let g:vimtex_fold_comments = 1 let g:vimtex_fold_preamble = 1 let g:vimtex_compiler_latexmk = { \ 'options' : [ \ '-shell-escape', \ '-pdf', \ '-verbose', \ '-file-line-error', \ '-synctex=1', \ '-interaction=nonstopmode', \ ], \} let g:vimtex_quickfix_latexlog = { \ 'default' : 1, \ 'general' : 1, \ 'references' : 1, \ 'overfull' : 0, \ 'underfull' : 0, \ 'font' : 0, \ 'packages' : { \ 'default' : 1, \ 'natbib' : 1, \ 'biblatex' : 1, \ 'babel' : 1, \ 'hyperref' : 1, \ 'scrreprt' : 1, \ 'fixltx2e' : 1, \ 'titlesec' : 1, \ }, \} function! ViewerCallback() dict call self.forward_search(self.out()) endfunction let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' let g:vimtex_view_general_callback = 'ViewerCallback' let g:vimtex_compiler_progname = '${pkgs.neovim-remote}/bin/nvr' " } latex " terminal { tnoremap " } terminal " allow per-project vimrc " TODO: only source if it exists " source .vimrc