filetype plugin indent on let g:tex_flavor = 'latex' " Deoplete let g:deoplete#enable_at_startup = 1 " LanguageClient-neovim let g:LanguageClient_serverCommands = { \ 'elm': ['elm-language-server'], \ 'rust': ['rustup', 'run', 'stable', 'rls'], \ 'ruby': ['bundle', 'exec', 'srb', 'tc', '--lsp', '.'], \ } let g:LanguageClient_rootMarkers = { \ 'elm': ['elm.json'], \ 'typescriptreact': ['tsconfig.json'], \ 'ruby': ['Gemfile'], \ } let g:LanguageClient_loggingFile = expand('~/.local/share/nvim/LanguageClient.log') " ALE let g:ale_fix_on_save = 1 let g:ale_elixir_credo_strict = 1 let g:ale_fixers = { \ 'elm': ['elm-format', 'format'], \ 'javascript': ['prettier'], \ 'javascript.jsx': ['prettier'], \ 'javascriptreact': ['prettier'], \ 'typescriptreact': ['prettier'], \ 'typescript': ['prettier'], \ 'ruby': ['sorbet'], \ 'rust': ['rustfmt'], \ 'elixir': ['mix_format'] \} let g:ale_linters_ignore = { \ 'javascript': ['tsserver'], \ 'javascriptreact': ['tsserver'], \} " Rainbow parentheses let g:rainbow_conf = { \ 'guifgs': ['RoyalBlue3', 'SeaGreen3', 'DarkOrchid3', 'firebrick3', 'RoyalBlue3', 'SeaGreen3', 'DarkOrchid3', 'firebrick3', 'RoyalBlue3', 'DarkOrchid3', 'firebrick3', 'RoyalBlue3', 'SeaGreen3', 'DarkOrchid3', 'firebrick3'], \ 'ctermfgs': ['red', 'brown', 'blue', 'gray', 'green', 'magenta', 'cyan', 'darkred', 'brown', 'darkblue', 'gray', 'darkgreen', 'darkmagenta', 'darkcyan', 'red'], \ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'] \} let g:rainbow_active = 1 " Easymotion map / (easymotion-sn) omap / (easymotion-tn) map n (easymotion-next) map N (easymotion-prev) let g:EasyMotion_landing_highlight = 0 " Vim-Test nmap t :TestNearest nmap T :TestFile nmap a :TestSuite nmap l :TestLast nmap g :TestVisit let test#strategy = "neovim" nnoremap t :call LanguageClient_textDocument_hover() nnoremap y :call LanguageClient_textDocument_definition() " Indent guides let g:indent_guides_enable_on_vim_startup = 1 let g:indent_guides_start_level = 2 " let netrw look like NERDTree let g:netrw_liststyle = 3 let mapleader="," set nobackup set noswapfile set pastetoggle= set nowrap set background=dark colorscheme PaperColor set nocompatible set number relativenumber set numberwidth=1 set cursorline set cursorcolumn set ruler set list set listchars=tab:>-,trail:-,extends:>,precedes:<,nbsp:+,eol:$ set matchpairs+=<:> set ts=2 set shiftwidth=2 set expandtab " Open new split panes to right and bottom, which feels more natural set splitbelow set splitright """ Searching and Patterns set ignorecase set smartcase set smarttab set hlsearch " Add the g flag to search/replace by default set gdefault "recalculate the trailing whitespace warning when idle, and after saving autocmd cursorhold,bufwritepost * unlet! b:statusline_trailing_space_warning " strip trailing whitespace autocmd BufWritePre * :%s/\s\+$//e """ Handy remaps noremap ; : inoremap jj map V :source ~/.config/nvim/init.vim:filetype detect:exe ":echo 'vimrc reloaded'" map \q :q map \w :w noremap Q """ Esperanto digraphs (for use with ctrl-k) :digraph Cx 264 :digraph cx 265 :digraph Gx 284 :digraph gx 285 :digraph Hx 292 :digraph hx 293 :digraph Jx 308 :digraph jx 309 :digraph Sx 348 :digraph sx 349 :digraph Ux 364 :digraph ux 365 """ Terminal mode remaps tnoremap nnoremap o :below 10sp term://$SHELLi " Quicker window movement nnoremap j nnoremap k nnoremap h nnoremap l " Don’t reset cursor to start of line when moving around. set nostartofline " minimal number of lines to keep above/below cursorline set scrolloff=10 " Local overrides? if filereadable($HOME . "/.vimrc.local") source ~/.vimrc.local endif