Skip to content

Instantly share code, notes, and snippets.

@DennyScott
Last active May 11, 2017 01:34
Show Gist options
  • Save DennyScott/362d9326706c1fc375ab to your computer and use it in GitHub Desktop.
Save DennyScott/362d9326706c1fc375ab to your computer and use it in GitHub Desktop.
call plug#begin('~/.vim/plugged')
" Group dependencies, vim-snippets depends on ultisnips
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
Plug 'bling/vim-airline'
Plug 'facebook/vim-flow'
Plug 'sjl/vitality.vim'
Plug 'pangloss/vim-javascript'
Plug 'terryma/vim-multiple-cursors'
Plug 'kien/ctrlp.vim'
Plug 'valloric/MatchTagAlways'
Plug 'ervandew/supertab'
Plug 'airblade/vim-gitgutter'
Plug 'editorconfig/editorconfig-vim'
Plug 'lokaltog/vim-easymotion'
Plug 'Valloric/YouCompleteMe'
Plug 'marijnh/tern_for_vim'
Plug 'leafgarland/typescript-vim'
Plug 'vim-scripts/TaskList.vim'
Plug 'Shougo/vimproc.vim'
Plug 'Quramy/tsuquyomi'
Plug 'mxw/vim-jsx'
Plug 'othree/yajs.vim'
Plug 'isRuslan/vim-es6'
Plug 'tpope/vim-dispatch'
Plug 'scrooloose/syntastic'
Plug 'OrangeT/vim-csharp'
Plug 'Chiel92/vim-autoformat'
Plug 'flazz/vim-colorschemes'
Plug 'rust-lang/rust.vim'
Plug 'racer-rust/vim-racer'
Plug 'cespare/vim-toml'
Plug 'Quramy/vim-js-pretty-template'
Plug 'jiangmiao/auto-pairs'
Plug 'alvan/vim-closetag'
Plug 'ryanoasis/vim-devicons'
Plug 'ajh17/Spacegray.vim'
" On-demand loading
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
" Add plugins to &runtimepath
call plug#end()
" Nerdtree
map <C-]> :NERDTreeToggle<CR>
let NERDTreeIgnore = ['\.meta$']
" General Settings
:set mouse=a
inoremap jk <ESC>
set background=dark " Setting dark mode
colorscheme gruvbox
let g:spacegray_underline_search = 1
let g:spacegray_italicize_comments = 1
"let g:gruvbox_contrast_dark='dark'
let g:jsx_ext_required = 0 " Allow JSX in normal JS files
"Autoclose Tags
let g:closetag_filenames = "*.html,*.xhtml,*.phtml,*.jsx,*.js"
" Remap leader
let mapleader = "\<Space>"
:set backupdir=~/Development/tmp
:set tabstop=2
:set shiftwidth=2
:set expandtab
:set number
filetype plugin indent on
syntax on
set encoding=utf-8
" Airline
let g:airline#extensions#tabline#enabled = 1
let g:airline_powerline_fonts = 1
" delimitMate
au FileType vim,html let b:delimitMate_matchpairs="(:),[:],{:}"
" Rust Config
let g:rustfmt_autosave = 1
set hidden
let g:racer_cmd = "/Users/dennyscott/.cargo/bin"
let g:racer_experimental_completer = 1
" You complete me
" These are the tweaks I apply to YCM's config, you don't need them but they might help.
" YCM gives you popups and splits by default that some people might not like, so these should tidy it up a bit for you.
let g:ycm_add_preview_to_completeopt=0
let g:ycm_confirm_extra_conf=0
set completeopt-=preview
" Delimitmate
let delimitMate_expand_cr=1
" make YCM compatible with UltiSnips (using supertab)
let g:ycm_key_list_select_completion=['<C-n>', '<Down>']
let g:ycm_key_list_previous_completion=['<C-p>', '<Up>']
let g:SuperTabDefaultCompletionType='<C-n>'
" better key bindings for UltiSnipsExpandTrigger
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<tab>"
let g:UltiSnipsJumpBackwardTrigger="<s-tab>""
" Easy Motion
" Bi-directional find motion
" Jump to anywhere you want with minimal keystrokes, with just one key binding.
" `s { char } { label } `
nmap s <Plug>(easymotion-s)
" or " `s { char } { char } { label } `
" Need one more keystroke, but on average, it may be more comfortable.
nmap s <Plug>(easymotion-s2)
" Turn on case sensitive feature
let g:EasyMotion_smartcase=1
" Ctrl P Hide
let g:ctrlp_custom_ignore='|platforms\|bower_components\|node_modules\|DS_Store\|AndroidPlugin\|git|tmp\|www\'
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.meta,*.csproj,.unity,*.sln,*.keystore,*.unityproj,*.properties,*.htm,*.asset,*/lib/* " MacOSX/Linux
let g:ctrlp_max_files=0
let g:ctrlp_max_depth=40
"ctrl p git
let g:ctrlp_use_caching = 0
if executable('ag')
set grepprg=ag\ --nogroup\ --nocolor
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
else
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files . -co --exclude-standard', 'find %s -type f']
let g:ctrlp_prompt_mappings = {
\ 'AcceptSelection("e")': ['<space>', '<cr>', '<2-LeftMouse>'],
\ }
endif
" Syntastic
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_disabled_filetypes=['html']
"Super tab settings - uncomment the next 4 lines
"let g:SuperTabDefaultCompletionType = 'context'
"let g:SuperTabContextDefaultCompletionType = "<c-x><c-o>"
"let g:SuperTabDefaultCompletionTypeDiscovery = ["&omnifunc:<c-x><c-o>","&completefunc:<c-x><c-n>"]
"let g:SuperTabClosePreviewOnPopupClose = 1
"Typescript Configuration
let g:typescript_compiler_binary = 'tsc'
let g:typescript_compiler_options = ''
autocmd QuickFixCmdPost [^l]* nested cwindow
autocmd QuickFixCmdPost l* nested lwindow
autocmd FileType typescript JsPreTmpl html
autocmd FileType typescript syn clear foldBraces
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment