2018-10-30 13:38:36 +01:00
|
|
|
set nocompatible
|
|
|
|
set mouse=
|
|
|
|
|
|
|
|
" Enable Elite mode, No ARRRROWWS!!!!
|
|
|
|
let g:elite_mode=1
|
|
|
|
if get(g:, 'elite_mode')
|
|
|
|
nnoremap <Up> :resize +2<CR>
|
|
|
|
nnoremap <Down> :resize -2<CR>
|
|
|
|
nnoremap <Left> :vertical resize +2<CR>
|
|
|
|
nnoremap <Right> :vertical resize -2<CR>
|
|
|
|
endif
|
|
|
|
|
|
|
|
nnoremap <expr>K getline('.')[col('.')-1]==' ' ? "r<CR>" : "i<CR><Esc>"
|
|
|
|
|
|
|
|
" Enable highlighting of the current line
|
|
|
|
set cursorline
|
|
|
|
|
|
|
|
" leader
|
|
|
|
let mapleader = ','
|
|
|
|
let maplocalleader = ','
|
|
|
|
|
|
|
|
" save on ctrl-s
|
|
|
|
nnoremap <c-s> :w<CR>
|
|
|
|
inoremap <c-s> <Esc>:w<CR>
|
|
|
|
|
|
|
|
set hidden
|
|
|
|
syntax on
|
|
|
|
set hlsearch
|
|
|
|
set ignorecase
|
|
|
|
set smartcase
|
|
|
|
set number
|
|
|
|
|
|
|
|
" mappings to stop insert mode
|
|
|
|
imap jjj <ESC>
|
|
|
|
imap kkk <ESC>
|
|
|
|
imap lll <ESC>
|
|
|
|
imap hhh <ESC>
|
|
|
|
set scroll=11
|
|
|
|
|
|
|
|
" new mappings
|
|
|
|
noremap <C-j> <C-f>
|
|
|
|
noremap <C-k> <C-u>
|
|
|
|
|
|
|
|
noremap <C-n> :tabn<CR>
|
|
|
|
noremap <C-p> :tabp<CR>
|
|
|
|
let g:ctrlp_map = '<tab>'
|
|
|
|
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'
|
|
|
|
|
2018-12-17 13:14:22 +01:00
|
|
|
" always show status line
|
2018-10-30 13:38:36 +01:00
|
|
|
set ls=2
|
2018-12-17 13:14:22 +01:00
|
|
|
" let g:airline#extensions#tabline#formatter = 'default'
|
|
|
|
" let g:airline#extensions#tabline#enabled=1
|
|
|
|
let g:airline_theme='papercolor'
|
2018-10-30 13:38:36 +01:00
|
|
|
set tabstop=4
|
|
|
|
set shiftwidth=4
|
|
|
|
set softtabstop=4
|
|
|
|
set expandtab
|
|
|
|
"set textwidth=80
|
|
|
|
|
2018-12-17 13:14:22 +01:00
|
|
|
|
2018-10-30 13:38:36 +01:00
|
|
|
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=
|
2019-01-12 10:51:03 +01:00
|
|
|
set background=light
|
2018-10-30 13:38:36 +01:00
|
|
|
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!
|
2018-12-17 13:14:22 +01:00
|
|
|
setlocal tabstop=2 shiftwidth=2 softtabstop=2 expandtab
|
2018-10-30 13:38:36 +01:00
|
|
|
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 <F5> :call LanguageClient_contextMenu()<CR>
|
|
|
|
" Or map each action separately
|
|
|
|
nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
|
|
|
|
nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
|
|
|
|
nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
|
|
|
|
" }
|
|
|
|
|
|
|
|
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 <Esc> <C-\><C-n>
|
|
|
|
" } terminal
|
|
|
|
|
|
|
|
" allow per-project vimrc
|
|
|
|
" TODO: only source if it exists
|
|
|
|
" source .vimrc
|