Skip to content

Instantly share code, notes, and snippets.

@andrewhummus
Created August 23, 2021 20:11
Show Gist options
  • Save andrewhummus/0ea1ede082b574ec83605e67da6c3c94 to your computer and use it in GitHub Desktop.
Save andrewhummus/0ea1ede082b574ec83605e67da6c3c94 to your computer and use it in GitHub Desktop.
My vimrc config for working with python, and typescript
syntax on
set noerrorbells
set tabstop=4 softtabstop=4
set shiftwidth=4
set expandtab
set smartindent
set nu
set nowrap
set smartcase
set noswapfile
set nobackup
set undodir=~/.vim/undodir
set undofile
set incsearch
set encoding=utf-8
filetype plugin indent on
filetype on
set colorcolumn=80
highlight ColorColumn ctermbg=0 guibg=lightgrey
set viminfo='25,\"50,n~/.viminfo
autocmd FileType html setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd FileType css setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd FileType javascript setlocal tabstop=2 shiftwidth=2 softtabstop=2
nmap <F6> :TagbarToggle<CR>
nmap <F7> :NERDTreeToggle<CR>
nmap <F9> :AirlineTheme purify<CR>
set foldlevel=99
set foldcolumn=1
set pastetoggle=<F2>
nnoremap <space> za
" Remove garbage background
highlight VertSplit cterm=NONE
set mouse=a
let g:is_mouse_enabled = 1
set splitbelow
set splitright
set backspace=indent,eol,start
set laststatus=2
set clipboard=unnamed
set hlsearch
set incsearch
set showmatch
if !has('gui_running')
set t_Co=256
endi
call plug#begin('~/.vim/plugged')
Plug 'prabirshrestha/vim-lsp'
Plug 'jremmen/vim-ripgrep'
Plug 'prettier/vim-prettier'
Plug 'rust-lang/rust.vim'
Plug 'preservim/nerdtree'
Plug 'scrooloose/nerdcommenter'
Plug 'peitalin/vim-jsx-typescript'
Plug 'junegunn/fzf.vim'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'kyoz/purify', { 'rtp': 'vim' }
Plug 'tomasiser/vim-code-dark'
Plug 'vim-airline/vim-airline-themes'
Plug 'vim-airline/vim-airline'
Plug 'vim-scripts/indentpython.vim'
Plug 'majutsushi/tagbar'
Plug 'leafgarland/typescript-vim'
Plug 'tiagofumo/vim-nerdtree-syntax-hightlight'
Plug 'ryanoasis/vim-devicons'
Plug 'sheerun/vim-polyglot'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'preservim/nerdtree'
Plug 'airblade/vim-gitgutter'
Plug 'gko/vim-coloresque'
call plug#end()
nnoremap <c-p> :Files<cr>
nmap <c-o> <plug>NERDCommenterToggle
let g:airline_powerline_fonts = 1
let g:airline_theme = 'codedark'
let g:airline#extensions#tabline#enabled = 1
" Kite
let g:kite_supported_languages = ['python', 'javascript', 'typescript', 'rust']
let g:kite_supported_languages = ['*']
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
colorscheme codedark
" unicode symbols!
let g:airline_left_sep = '»'
let g:airline_left_sep = '▶'
let g:airline_right_sep = '«'
let g:airline_right_sep = '◀'
let g:airline_symbols.linenr = '␊'
let g:airline_symbols.linenr = '␤'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.branch = '⎇'
let g:airline_symbols.paste = 'ρ'
let g:airline_symbols.paste = 'Þ'
let g:airline_symbols.paste = '∥'
let g:airline_symbols.whitespace = 'Ξ'
" airline symbols
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''
" Discord RPC
let g:vdrpc_autostart = 1
if executable('rg')
let g:rg_derive_root='true'
endif
" run cod<e
augroup compileandrun
autocmd!
autocmd filetype python nnoremap <f5> :w <bar> :!python3 % <cr>
autocmd filetype java nnoremap <f5> :w <bar> !javac % && java %:r <cr>
autocmd filetype c nnoremap <f5> :w <bar> !make %:r && ./%:r <cr>
"autocmd filetype cpp nnoremap <f6> :vnew <bar> :te "a.exe" <cr>
augroup END
au BufNewFile, BufRead *.py,*.java,*.c,*.rs,*.h,*.ts,*.html,*.css
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set textwidth=120 |
\ set expandtab |
\ set autoindent |
\ set fileformat=unix |
set signcolumn=yes
set relativenumber
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= ("$") | exe "normal! g'\"" | endif
autocmd ColorScheme * highlight Normal ctermbg=NONE guibg=NONE
" NERD TREE GIT STATUS
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
" NERDTrees File highlighting
function! NERDTreeHighlightFile(extension, fg, bg, guifg, guibg)
exec 'autocmd FileType nerdtree highlight ' . a:extension .' ctermbg='. a:bg .' ctermfg='. a:fg .' guibg='. a:guibg .' guifg='. a:guifg
exec 'autocmd FileType nerdtree syn match ' . a:extension .' #^\s\+.*'. a:extension .'$#'
endfunction
call NERDTreeHighlightFile('jade', 'green', 'none', 'green', '#151515')
call NERDTreeHighlightFile('ini', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('md', 'blue', 'none', '#3366FF', '#151515')
call NERDTreeHighlightFile('yml', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('config', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('conf', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('json', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('html', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('styl', 'cyan', 'none', 'cyan', '#151515')
call NERDTreeHighlightFile('css', 'cyan', 'none', 'cyan', '#151515')
call NERDTreeHighlightFile('coffee', 'Red', 'none', 'red', '#151515')
call NERDTreeHighlightFile('js', 'Red', 'none', '#ffa500', '#151515')
call NERDTreeHighlightFile('php', 'Magenta', 'none', '#ff00ff', '#151515')
call NERDTreeHighlightFile('ds_store', 'Gray', 'none', '#686868', '#151515')
call NERDTreeHighlightFile('gitconfig', 'Gray', 'none', '#686868', '#151515')
call NERDTreeHighlightFile('gitignore', 'Gray', 'none', '#686868', '#151515')
call NERDTreeHighlightFile('bashrc', 'Gray', 'none', '#686868', '#151515')
call NERDTreeHighlightFile('bashprofile', 'Gray', 'none', '#686868', '#151515')
let NERDTreeIgnore=['\.pyc$', '__pycache__', 'node_modules']
let NERDTreeMinimalUI=1
let NERDTreeDirArrows = 1
let g:nerdtree_open=0
" OPEN nerd tree auto
autocmd VimEnter * NERDTree
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment