Created
August 23, 2021 20:11
-
-
Save andrewhummus/0ea1ede082b574ec83605e67da6c3c94 to your computer and use it in GitHub Desktop.
My vimrc config for working with python, and typescript
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
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