python3 from powerline.vim import setup as powerline_setup python3 powerline_setup() python3 del powerline_setup let g:Powerline_symbols = 'fancy' colorscheme twilight256 " colorscheme solarized set mouse=a relativenumber number foldmethod=indent nofoldenable "without nofoldenable all folds are closed at startup" set ttymouse=xterm2 " fix mouse when used in tmux/byobu https://unix.stackexchange.com/q/50733 set splitbelow splitright set autoread set nowrap set showtabline=2 laststatus=2 " fix statusline " ALE configuration let g:ale_fixers_aliases = {'vue': ['vue', 'javascript']} let g:ale_fixers = { \ '*': ['remove_trailing_lines', 'trim_whitespace'], \ 'python': ['black'], \ 'rust': ['rustfmt'], \ "javascript": ["prettier", "eslint"], \ "vue": ["prettier", "eslint"] \} let g:ale_linter_aliases = {'vue': ['vue', 'javascript']} let g:ale_linters = { \ 'python': ['pylint'], \ 'bash': ['bashlint', "shellcheck"], \ 'rust': ['rustc'], \ 'yaml': ['yamllint'], \ 'javascript': ["eslint", "vls"], \} let g:ale_lint_on_insert_leave = 1 let g:ale_fix_on_insert_leave = 1 let g:ale_lint_on_text_changed = 1 let g:ack_default_options = " --cc --cpp --shell --python --html --js" let g:ale_set_quickfix=1 let g:ale_set_loclist=0 " let g:ale_lint_on_save = 1 let g:ale_fix_on_save = 1 let g:ale_lint_on_insert_leave = 1 let g:ale_completion_enabled = 1 packadd termdebug " Fix some gitgutter stuff let g:gitgutter_enabled = 1 let g:gitgutter_override_sign_column_highlight = 0 highlight clear SignColumn highlight GitGutterAdd ctermfg=2 highlight GitGutterChange ctermfg=3 highlight GitGutterDelete ctermfg=1 highlight GitGutterChangeDelete ctermfg=4 " Highlight all instances of word under cursor, when idle. " Useful when studying strange source code. " Type z/ to toggle highlighting on/off. nnoremap z/ :if AutoHighlightToggle()set hlsendif function! AutoHighlightToggle() let @/ = '' if exists('#auto_highlight') au! auto_highlight augroup! auto_highlight setl updatetime=4000 echo 'Highlight current word: off' return 0 else augroup auto_highlight au! au CursorHold * let @/ = '\V\<'.escape(expand(''), '\').'\>' augroup end setl updatetime=500 echo 'Highlight current word: ON' return 1 endif endfunction " A friggin python breakpoint. Invoke with @b let @b = 'A breakpoint()€ýajkj0' let g:ctrlp_custom_ignore = { \ 'dir': '\v(target|build|dist)$', \ } " \ 'file': '\v\.(exe|so|dll)$', " \ 'link': 'some_bad_symbolic_links', nnoremap mk :bel copensilent (cargo run) !redraw! autocmd FileType yaml setlocal shiftwidth=2 softtabstop=2 expandtab autocmd FileType yml setlocal shiftwidth=2 softtabstop=2 expandtab function! GitStatus() let [a,m,r] = GitGutterGetHunkSummary() return printf('+%d ~%d -%d', a, m, r) endfunction set statusline+=%{GitStatus()} " Improve vimdiff colors highlight DiffAdd cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red highlight DiffDelete cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red highlight DiffChange cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red highlight DiffText cterm=bold ctermfg=10 ctermbg=88 gui=none guifg=bg guibg=Red " let g:ctrlp_custom_ignore = { " \ 'file': '\v\.(pdf|csv|gz|csv)$', " \ 'dir': '(dist|build)$', " \ } let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard'] function! WinZoomToggle() abort if ! exists('w:WinZoomIsZoomed') let w:WinZoomIsZoomed = 0 endif if w:WinZoomIsZoomed == 0 let w:WinZoomOldWidth = winwidth(0) let w:WinZoomOldHeight = winheight(0) wincmd _ wincmd | let w:WinZoomIsZoomed = 1 elseif w:WinZoomIsZoomed == 1 execute "resize " . w:WinZoomOldHeight execute "vertical resize " . w:WinZoomOldWidth let w:WinZoomIsZoomed = 0 endif endfunction nnoremap wz :call WinZoomToggle() nnoremap / :G nnoremap C :close nnoremap B :Bclose nnoremap G :Git nnoremap P :GPush nnoremap M :Git commit nnoremap u :GitGutterBufferToggle