Last active
January 19, 2022 19:49
-
-
Save justecorruptio/8090b58a79f840cc6795 to your computer and use it in GitHub Desktop.
vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set nocompatible | |
set timeout timeoutlen=500 ttimeoutlen=0 | |
syntax enable | |
filetype on | |
augroup filetypedetect | |
au! BufRead,BufNewFile *.jsx setfiletype javascript | |
augroup END | |
set t_Co=256 background=light | |
set nobackup noswapfile autoread | |
set noerrorbells | |
"set list listchars=tab:>· | |
"set list listchars=tab:├─ | |
set autoindent nosmartindent | |
set tabstop=4 softtabstop=4 expandtab | |
set shiftwidth=4 shiftround | |
autocmd FileType go set tabstop=4 noexpandtab | |
autocmd FileType javascript set tabstop=2 softtabstop=2 shiftwidth=2 | |
set scrolloff=8 sidescrolloff=15 sidescroll=1 | |
hi LineNr ctermfg=17 | |
set number | |
hi VertSplit ctermbg=238 ctermfg=238 | |
set fillchars=vert:\ ,fold:\ "<-WS | |
hi Folded ctermbg=0 ctermfg=199 | |
set foldmethod=expr | |
set foldlevelstart=99 | |
set foldexpr=FoldFunc(v:lnum) | |
set foldtext=getline(v:foldstart).'\ ' | |
nnoremap <silent> zc :%foldc<cr> | |
nnoremap zv zR | |
nnoremap zx za | |
function! FoldFunc(lnum) | |
if getline(a:lnum) =~? '\v^\s*$' | |
return '-1' | |
elseif getline(a:lnum) =~? '\v^\s*(def|class)\s' | |
return '>' . (indent(a:lnum) / &shiftwidth + 1) | |
endif | |
return '=' | |
endfunction | |
hi Search ctermbg=darkyellow | |
set ignorecase smartcase showmatch hlsearch incsearch | |
hi MatchParen ctermfg=green ctermbg=none | |
hi WhiteSpaceEOL ctermfg=234 | |
autocmd FileType python hi WhiteSpaceEOL ctermbg=yellow | |
autocmd InsertEnter * match WhitespaceEOL /\t\|\s\+\%#\@<!$/ | |
autocmd InsertLeave,BufEnter * match WhitespaceEOL /\t\|\s\+$/ | |
hi StatusLine ctermbg=248 ctermfg=238 | |
hi StatusLineNC ctermbg=238 ctermfg=234 | |
hi StatusLineCWD ctermbg=238 ctermfg=5 | |
set laststatus=2 | |
let w:is_curr_buf='' | |
autocmd BufEnter,WinEnter * | |
\ let w:is_curr_buf=@% =~ '\v^[~/]' ? '' : getcwd() . '/' | |
autocmd WinLeave * let w:is_curr_buf='' | let &ro=&ro | |
set statusline=%#StatusLineCWD#%{w:is_curr_buf}%*%f | |
set statusline+=\ [%l,\ %c]\ %{&paste?'[Paste]\ ':''}%m%r | |
nmap <silent> <leader>p :set paste!<cr> | |
nmap <silent> <leader><tab> :retab<cr> | |
nmap <silent> <leader>h :set syntax=html<cr> | |
nmap <leader>n :set binary<cr>:set noeol<cr> | |
hi ColorColumn ctermbg=234 | |
nmap <silent> <leader><bslash> :call ToggleIndentGuides()<cr> | |
function! ToggleIndentGuides() | |
if &colorcolumn | |
set colorcolumn= | |
else | |
set colorcolumn=4,8,12,16,20,24,28,32,80 | |
endif | |
endfunction | |
nmap <silent> <leader>] :call DeleteTrailingWS()<cr> | |
function! DeleteTrailingWS() | |
:%s/\s\+$\|\($\n\s*\)\+\%$//ge | |
endfunction | |
hi PMenu ctermbg=242 | |
hi PMenuSel ctermbg=254 ctermfg=234 | |
set completeopt=menu,preview,longest | |
function! CleverTab() | |
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$' | |
return "\<Tab>" | |
else | |
return "\<C-N>" | |
endif | |
endfunction | |
inoremap <Tab> <C-R>=CleverTab()<CR> | |
nmap <silent> <leader>o oimport ipdb;ipdb.set_trace()<ESC> | |
nmap <silent> <leader>O Oimport ipdb;ipdb.set_trace()<ESC> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment