From 6af4ba943f6b73e31a0b2bd0262d953a2e954ddb Mon Sep 17 00:00:00 2001 From: Nicholas Van Doorn Date: Wed, 4 Aug 2021 18:12:54 -0700 Subject: Initial commit --- vimrc | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 vimrc (limited to 'vimrc') diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..a8335ec --- /dev/null +++ b/vimrc @@ -0,0 +1,175 @@ +function! BuildComposer(info) + if a:info.status != 'unchanged' || a:info.force + if has('nvim') + !cargo build --release + else + !cargo build --release --no-default-features --features json-rpc + endif + endif +endfunction + + + +call plug#begin('~/.vim/plugged') + +" Pick a theme, any theme, really +Plug 'NLKNguyen/papercolor-theme' +Plug 'danilo-augusto/vim-afterglow' +Plug 'altercation/vim-colors-solarized' +Plug 'flazz/vim-colorschemes' +Plug 'morhetz/gruvbox' +Plug 'mhartington/oceanic-next' +Plug 'joshdick/onedark.vim' + +" Syntax support +Plug 'euclio/vim-markdown-composer', { 'do': function('BuildComposer') } +Plug 'elixir-editors/vim-elixir' +Plug 'jason0x43/vim-js-indent' +Plug 'leafgarland/typescript-vim' +Plug 'peitalin/vim-jsx-typescript' +Plug 'mustache/vim-mustache-handlebars' +Plug 'mxw/vim-jsx' +Plug 'pangloss/vim-javascript' +Plug 'rust-lang/rust.vim' +Plug 'vim-ruby/vim-ruby' +Plug 'styled-components/vim-styled-components', { 'branch': 'main' } +Plug 'kchmck/vim-coffee-script' + +" Extensions +" Chuch of tpope +Plug 'tpope/vim-endwise' +Plug 'tpope/vim-dispatch' +Plug 'tpope/vim-commentary' +Plug 'tpope/vim-surround' +Plug 'tpope/vim-fugitive' + +Plug 'sjl/splice.vim' +Plug 'srstevenson/vim-picker' +Plug 'scrooloose/nerdtree' +Plug 'francoiscabrol/ranger.vim' +Plug 'wellle/targets.vim' +Plug 'bkad/CamelCaseMotion' +Plug 'ConradIrwin/vim-bracketed-paste' +Plug 'vim-airline/vim-airline' +Plug 'vim-airline/vim-airline-themes' +Plug 'airblade/vim-gitgutter' +Plug 'mileszs/ack.vim' +Plug 'preservim/tagbar' + +call plug#end() + +" General config +syntax enable +if $VIM_BACKGROUND == 'light' + set background=light +endif +if $VIM_BACKGROUND == 'dark' + set background=dark +endif +set shell=$SHELL +set bs=2 +set tabstop=2 +set foldmethod=syntax +set foldlevelstart=99 +set expandtab +set shiftwidth=2 +set softtabstop=2 +set ai +set number +set relativenumber +set mouse=a +filetype plugin on +runtime macros/matchit.vim + +set grepprg=rg\ --vimgrep\ --no-heading +set grepformat=%f:%l:%c:%m,%f:%l:%m +let g:ackprg = 'rg --vimgrep --no-heading' + +" Shorthand commands +cnoreabbrev Spec Dispatch bundle exec rspec % + +" Key bindings +let mapleader = "\" +nnoremap ; : +nnoremap : ; + +" Roll yur own tpope +nnoremap } :set spell +nnoremap { :set spell& +nnoremap ] :cnext +nnoremap [ :cprev +nnoremap r :Ranger +nnoremap n :NERDTree % +nnoremap s :w :Dispatch bundle exec rspec --only-failures --fail-fast % +nnoremap ss :w :Dispatch bundle exec rspec % +nnoremap b :Git blame +nnoremap g :G +nnoremap c :Git commit +nnoremap / :noh +nnoremap x :PickerSplit +nnoremap p :PickerEdit +nnoremap t :PickerTabedit +nnoremap v :PickerVsplit +nnoremap u :PickerTag +nnoremap w :TagbarToggle +nnoremap h h +nnoremap j j +nnoremap k k +nnoremap l l +nnoremap h 20< +nnoremap l 20> +nnoremap j 20+ +nnoremap k 20- +nnoremap :tabn +nnoremap :tabp + +map w CamelCaseMotion_w +map b CamelCaseMotion_b +map e CamelCaseMotion_e +map ge CamelCaseMotion_ge +sunmap w +sunmap b +sunmap e +sunmap ge + +let g:picker_custom_find_executable = 'rg' +let g:picker_custom_find_flags = '. -l' + +" Theme +colorscheme $VIM_THEME +let g:airline_powerline_fonts = 1 +let g:airline_theme=$VIM_AIRLINE_THEME +let g:airline#extensions#tabline#enabled = 1 +let g:airline#extensions#tabline#formatter = 'unique_tail' +let g:airline#extensions#tabline#show_buffers = 0 +let g:airline#extensions#tabline#show_tab_nr = 0 +let g:airline#extensions#tabline#show_tab_type = 0 +let g:airline#extensions#tabline#left_sep = '' +let g:airline#extensions#tabline#left_alt_sep = '' +let g:airline#extensions#tabline#right_sep = '' +let g:airline#extensions#tabline#right_alt_sep = '' +let g:airline#extensions#tabline#show_close_button = 0 +let g:airline#extensions#tabline#show_splits = 0 +let g:airline#extensions#tabline#tab_min_count = 2 +let g:airline#extensions#branch#enabled = 0 + +" Distribute windows when resize happens. +au VimResized * :wincmd = + +let g:ctrlp_working_path_mode = 'rw' + +augroup jbuilder + au! + autocmd BufNewFile,BufRead *.jbuilder set syntax=ruby +augroup END + +augroup es + au! + autocmd BufNewFile,BufRead *.es6 set syntax=javascript +augroup END + +set spelllang=en +autocmd FileType markdown setlocal spell +autocmd FileType gitcommit setlocal spell +autocmd FileType markdown setlocal complete+=kspell +autocmd FileType gitcommit setlocal complete+=kspell -- cgit v1.2.3