unlet! skip_defaults_vim " source $VIMRUNTIME/defaults.vim " fix for wsl starting with REPLACE mode nnoremap ^[ ^[ " disable mouse so that clipboard works properly set mouse=nv set t_TI="" set t_TE="" set t_ut="" set noswapfile set updatetime=1000 set signcolumn=yes set rtp+=~/.fzf map ; :Files if executable('ag') let g:ackprg = 'ag --vimgrep' endif colorscheme onehalfdark if exists('+termguicolors') && ($COLORTERM == "24bit" || $COLORTERM == "truecolor") let &t_8f = "\[38;2;%lu;%lu;%lum" let &t_8b = "\[48;2;%lu;%lu;%lum" set termguicolors let g:terminal_ansi_colors = [ \ '#282c34', \ '#e06c75', \ '#98c379', \ '#e5c07b', \ '#61afef', \ '#c678dd', \ '#56b6c2', \ '#dcdfe4', \ '#282c34', \ '#e06c75', \ '#98c379', \ '#e5c07b', \ '#61afef', \ '#c678dd', \ '#56b6c2', \ '#dcdfe4' \ ] endif set cursorline set laststatus=2 let mapleader="," set number set relativenumber set listchars=trail:.,tab:>_ set list set wrap set linebreak set autoread set colorcolumn=+1 set shiftwidth=2 set softtabstop=2 au BufRead,BufNewFile *.ipynb setlocal filetype=json au BufRead,BufNewFile *.md setlocal spell au BufRead,BufNewFile *.code-workspace setlocal filetype=json au BufRead,BufNewFile *.csv setlocal nowrap au BufRead,BufNewFile *.service[a-zA-Z0-9]* setlocal filetype=systemd au TermOpen * setlocal nonumber norelativenumber syntax on if &diff highlight! link DiffText MatchParen endif au OptionSet diff highlight! link DiffText MatchParen set expandtab set autoindent set smartindent filetype plugin indent on imap jk command Bd b# | bd # command! BufOnly silent! execute "%bd|e#|bd#" nnoremap b :buffers:buffer nnoremap i :!zimports %:!black % nnoremap n :NERDTreeFocus nnoremap :NERDTree nnoremap :NERDTreeToggle nnoremap :NERDTreeFind nnoremap a :Ack! " Exit Vim if NERDTree is the only window remaining in the only tab. autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif set splitbelow set splitright function! GitStatus() let [a,m,r] = GitGutterGetHunkSummary() return printf('%s +%d ~%d -%d', FugitiveHead(), a, m, r) endfunction let g:netrw_list_hide= '\(^\|\s\s\)\zs\.\S\+' let g:python_highlight_all = 1 let g:lightline = { 'colorscheme': 'onehalfdark' } let g:lightline.component_expand = { \ 'linter_checking': 'lightline#ale#checking', \ 'linter_infos': 'lightline#ale#infos', \ 'linter_warnings': 'lightline#ale#warnings', \ 'linter_errors': 'lightline#ale#errors', \ 'linter_ok': 'lightline#ale#ok', \ } let g:lightline.component_type = { \ 'linter_checking': 'right', \ 'linter_infos': 'right', \ 'linter_warnings': 'warning', \ 'linter_errors': 'error', \ 'linter_ok': 'right', \ } let g:lightline.component_function = { \ 'gitstatus': 'GitStatus' \ } let g:lightline.active = { \ 'left': [ [ 'mode', 'paste' ], \ [ 'gitstatus', 'readonly', 'filename', 'modified' ] ], \ 'right': [ [ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_infos', 'linter_ok', 'lineinfo' ], \ [ 'percent' ], \ [ 'fileformat', 'fileencoding', 'filetype' ] ] \ } set noshowmode " Load all plugins now. " Plugins need to be added to runtimepath before helptags can be generated. packloadall if has('python3') packadd! jedi-vim endif " Load all of the helptags now, after plugins have been loaded. " All messages and errors will be ignored. " silent! helptags ALL