Skip to content

Instantly share code, notes, and snippets.

@justecorruptio
Last active January 19, 2022 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save justecorruptio/8090b58a79f840cc6795 to your computer and use it in GitHub Desktop.
Save justecorruptio/8090b58a79f840cc6795 to your computer and use it in GitHub Desktop.
vimrc
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