" set nocompatible " not necessary with neovim call plug#begin('~/.vim/plugged') Plug 'tomasr/molokai' Plug 'vim-airline/vim-airline' let g:airline#extensions#tabline#enabled = 1 let g:airline_powerline_fonts = 1 Plug 'vim-airline/vim-airline-themes' Plug 'tpope/vim-repeat' " repeats plugin maps Plug 'tpope/vim-surround' " cs[{ -> change surrounding [ to {, cst -> change surrounding tag, ysiw] -> surround inner word with ], etc. Plug 'tpope/vim-fugitive' Plug 'tpope/vim-endwise' " automatically add end block keyword or symbol " Plug 'tpope/vim-vinegar' " - -> open better netrw Plug 'tpope/vim-unimpaired' Plug 'tpope/vim-speeddating' " ctrl-a & ctrl-x on dates works Plug 'tpope/vim-jdaddy' " cij: change inner json. gqaj: pretty print json Plug 'w0rp/ale' " previously 'neomake/neomake, 'scrooloose/syntastic' " Plug 'SirVer/ultisnips' Plug 'honza/vim-snippets' Plug 'autozimu/LanguageClient-neovim', { 'branch': 'next', 'do': 'bash install.sh' } " Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } " Plug 'carlitux/deoplete-ternjs', { 'do': 'npm install -g tern' } Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}} Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf.vim' Plug 'christoomey/vim-tmux-navigator' " ctrl-l -> right in vim splits then tmux panes, etc. Plug 'terryma/vim-multiple-cursors' Plug 'easymotion/vim-easymotion' let g:EasyMotion_smartcase = 1 Plug 'justinmk/vim-sneak' Plug 'scrooloose/nerdcommenter' " toggle: c, comment: cc Plug 'scrooloose/nerdtree' nnoremap t :NERDTreeToggle Plug 'mattn/emmet-vim' " ctrl-y,. formely sparkup Plug 'mbbill/undotree' nnoremap u :UndotreeToggle Plug 'coderifous/textobj-word-column.vim' " cic -> change inner column Plug 'kshenoy/vim-signature' " mx -> mark x, dmx delete mark x, m, -> place next mark, m. -> place next or toggle, m- -> delete, m -> delete all, ]` jump, etc. Plug 'junegunn/vim-easy-align' " gaip= -> align inner paragraph on = xmap ga (EasyAlign) nmap ga (EasyAlign) " Plug 'Raimondi/delimitMate' " auto closing of quotes, parens, etc. Plug 'gregsexton/MatchTag' " highlight matching HTML tag Plug 'qstrahl/vim-matchmaker' " highlight matching word under cursor let g:matchmaker_enable_startup = 1 let g:matchmaker_ignore_single_match = 1 Plug 'bruno-/vim-vertical-move' " move vertically without changing column: [v, ]v Plug 'ntpeters/vim-better-whitespace' " highlights trailing whitespace, provides :StripWhiteSpace Plug 'sdanielf/vim-stdtabs' " standard indentiation per language Plug 'mhinz/vim-signify' " vcs in gutter. previously 'airblade/vim-gitgutter' Plug 'terryma/vim-expand-region' " + to expand, _ to shrink. previously 'gcmt/wildfire.vim' Plug 'tommcdo/vim-exchange' " e.g. swap words: cxiw, move to other word, cxiw. swap lines: cxx, etc. Plug 'vim-scripts/argtextobj.vim' " e.g. cia -> change inner argument Plug 'vim-scripts/matchit.zip' " % will match more things Plug 'AndrewRadev/splitjoin.vim' " gS, gJ Plug 'junegunn/goyo.vim' " distraction free mode nmap g :Goyo Plug 'jceb/vim-orgmode' Plug 'sheerun/vim-polyglot' " syntax and indentation for many languages " Plug 'eagletmt/ghc-mod' " Plug 'bitc/vim-hdevtools' Plug 'ryanoasis/vim-devicons' " icons in airline, NERDTree, etc. Plug 'TaDaa/vimade' " fade inactive buffer Plug 'mhinz/vim-startify' " fancy start page call plug#end() " general goodness "set shell=/bin/bash " Syntastic breaks when trying to write to /var/folders syntax enable let mapleader="\" " let mapleader="," let maplocalleader="\\" set hidden " allow hidden unsaved buffers set history=1000 " longer history set noswapfile " turn off swapfiles set number " line numbers set showcmd " show the command as it is typed set showmode set wildmenu set backspace=indent,eol,start set ttyfast "set wildmode=longest:full set wildmode=list:longest " try this on for a while set autoread " when a file is changed externally set ruler set cursorline " Highlight current line set laststatus=2 " Always show the statusline set scrolloff=5 " Give us a few lines before and after the cursor " long lines set wrap set formatoptions=rqn1 set textwidth=80 " set colorcolumn=80 " persistent undo set undodir=~/.vim/undodir set undofile " indentation " set autoindent " set smartindent " search " set hlsearch " set incsearch " set ignorecase " set gdefault " now substitutions assume /g set smartcase " if we include uppercase, it will be case sensitive " set showmatch " matching brackets " set matchtime=2 " blink brackets " clear highlighting nnoremap / :noh " regex set magic " tab stops set tabstop=4 set softtabstop=4 set shiftwidth=4 set expandtab set smarttab " mouse set mouse=a " a = all modes: nvic " hide toolbar, etc. " if has("gui_running") " set gfn=Terminus\ 8 " set go=-t " endif " Colors " colorscheme monokai colorscheme molokai highlight Normal ctermbg=NONE highlight SignColumn ctermbg=NONE highlight LineNr ctermbg=NONE ctermfg=darkgrey " highlight StatusLine guibg=NONE ctermfg=NONE ctermbg=red " UltiSnips " let g:UltiSnipsExpandTrigger="" " let g:UltiSnipsJumpForwardTrigger="" " let g:UltiSnipsJumpBackwardTrigger="" " open the current file for edit in Perforce nnoremap p4 :! p4 edit % " open split and switch to it nnoremap v vl nnoremap s sj " Browser let g:netrw_browsex_viewer = "browser" " FZF nnoremap a :Ag nnoremap f :Files nnoremap b :Buffers nnoremap w :Windows nnoremap c :Commands nnoremap hf :History nnoremap hc :History: nnoremap hs :History/ nnoremap l :BLines nnoremap l :Lines " nnoremap t :BTags nnoremap t :Tags nnoremap gc :BCommits nnoremap gc :Commits nmap (fzf-maps-n) xmap (fzf-maps-x) omap (fzf-maps-o) imap (fzf-complete-word) imap (fzf-complete-path) imap (fzf-complete-file-ag) imap (fzf-complete-line) " Tabs nmap 1 1gt nmap 2 2gt nmap 3 3gt nmap 4 4gt nmap 5 5gt nmap 6 6gt nmap 7 7gt nmap 8 8gt nmap 9 9gt