mirror of
https://git.decapod.one/brethil/dotfiles
synced 2024-11-22 11:31:30 +01:00
134 lines
3.9 KiB
VimL
134 lines
3.9 KiB
VimL
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()<Bar>set hls<Bar>endif<CR>
|
||
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('<cword>'), '\').'\>'
|
||
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()<1B><>ajkj0'
|
||
|
||
let g:ctrlp_custom_ignore = {
|
||
\ 'dir': '\v(target|build|dist)$',
|
||
\ }
|
||
" \ 'file': '\v\.(exe|so|dll)$',
|
||
" \ 'link': 'some_bad_symbolic_links',
|
||
|
||
nnoremap <leader>mk :bel copen<bar>silent (cargo run) !<bar>redraw!<cr>
|
||
|
||
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 <leader>wz :call WinZoomToggle()<CR>
|