Skip to content

Instantly share code, notes, and snippets.

@evantravers
Created January 24, 2017 14:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save evantravers/ee578282391d5bb615b2b44ce32e5bfe to your computer and use it in GitHub Desktop.
Save evantravers/ee578282391d5bb615b2b44ce32e5bfe to your computer and use it in GitHub Desktop.
"=============================================
" Initialization
"=============================================
" Load plug
call plug#begin('~/.config/nvim/bundle')
Plug '1995eaton/vim-better-css-completion', { 'for': 'css' }
Plug '1995eaton/vim-better-javascript-completion', { 'for': 'javascript' }
Plug 'AndrewRadev/gapply.vim'
Plug 'Raimondi/delimitMate'
Plug 'SirVer/ultisnips'
Plug 'StanAngeloff/php.vim', { 'for': 'php' }
Plug 'Wolfy87/vim-enmasse'
Plug 'airblade/vim-gitgutter'
Plug 'dsawardekar/wordpress.vim', { 'for': 'php' }
Plug 'editorconfig/editorconfig-vim'
Plug 'elixir-lang/vim-elixir', { 'for': 'elixir' }
Plug 'fatih/vim-go', { 'for': 'go' }
Plug 'golangtw/gocode.vim', { 'for': 'go' }
Plug 'gregsexton/MatchTag'
Plug 'guns/vim-clojure-static', { 'for': 'clojure' }
Plug 'hail2u/vim-css3-syntax'
Plug 'honza/vim-snippets'
Plug 'jelera/vim-javascript-syntax'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': 'yes \| ./install --all' }
Plug 'junegunn/fzf.vim'
Plug 'junegunn/goyo.vim', { 'on': 'Goyo' }
Plug 'junegunn/limelight.vim', { 'on': 'Limelight' }
Plug 'junegunn/vim-easy-align'
Plug 'junegunn/vim-plug'
Plug 'justinmk/vim-sneak'
Plug 'kien/rainbow_parentheses.vim', { 'for': 'clojure' }
Plug 'kopischke/vim-fetch'
Plug 'majutsushi/tagbar'
Plug 'marijnh/tern_for_vim', { 'do': 'npm install', 'for': 'javascript' }
Plug 'mattn/emmet-vim'
Plug 'mattn/gist-vim'
Plug 'mattn/webapi-vim'
Plug 'mhinz/vim-rfc'
Plug 'mileszs/ack.vim'
Plug 'morhetz/gruvbox'
Plug 'mtth/scratch.vim'
Plug 'mustache/vim-mustache-handlebars'
Plug 'ryanoasis/vim-webdevicons'
Plug 'scrooloose/syntastic'
Plug 'shawncplus/phpcomplete.vim', { 'for': 'php' }
Plug 'simnalamburt/vim-mundo', { 'on': 'GundoToggle' }
Plug 'terryma/vim-expand-region'
Plug 'tpope/vim-abolish'
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-endwise'
Plug 'tpope/vim-eunuch'
Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-git'
Plug 'tpope/vim-markdown'
Plug 'tpope/vim-ragtag'
Plug 'tpope/vim-rails'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-speeddating'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-unimpaired'
Plug 'tpope/vim-vinegar'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'vim-ruby/vim-ruby'
Plug 'vim-scripts/matchit.zip'
Plug 'vim-scripts/rfc-syntax', { 'for': 'rfc' }
Plug 'vimwiki/vimwiki'
Plug 'wellle/targets.vim'
call plug#end()
" Load plugins
filetype plugin indent on
"=============================================
" Options
"=============================================
" Color
set termguicolors
let g:gruvbox_italic=1
set background=dark
colorscheme gruvbox
syntax on
" Search
set ignorecase
set smartcase
" Tab completion
set wildmode=list:longest,full
set wildignore=*.swp,*.o,*.so,*.exe,*.dll
" Scroll
set scrolloff=3
" Tab settings
set ts=2
set sw=2
set expandtab
" Hud
set ruler
set number
set nowrap
set fillchars=vert:\│
set colorcolumn=80
" Buffers
set hidden
" Backup Directories
set backupdir=~/.config/nvim/backups,.
set directory=~/.config/nvim/swaps,.
if exists('&undodir')
set undodir=~/.config/nvim/undo,.
endif
"=============================================
" Remaps
"=============================================
let mapleader=','
let maplocalleader=','
" No arrow keys
map <Left> :echo "ಠ_ಠ"<cr>
map <Right> :echo "ಠ_ಠ"<cr>
map <Up> :echo "ಠ_ಠ"<cr>
map <Down> :echo "ಠ_ಠ"<cr>
" Jump key
nnoremap ` '
nnoremap ' `
" Change pane
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
" Turn off search highlight
nnoremap <localleader>/ :nohlsearch<CR>
" Trim trailing whitespace
nnoremap <localleader>tw m`:%s/\s\+$//e<CR>``
"=============================================
" Other Settings
"=============================================
" Toggle paste mode
set pastetoggle=<leader>z
" Fancy tag lookup
set tags=./tags;/,tags;/
" Fancy macros
nnoremap Q @q
vnoremap Q :norm @q<cr>
" Visible whitespace
set listchars=tab:»·,trail:·
set list
" Soft-wrap for prose
command! -nargs=* Wrap set wrap linebreak nolist spell
let &showbreak='↪ '
"=============================================
" Package Settings
"=============================================
" junegunn/fzf
let g:fzf_action = {
\ 'ctrl-s': 'split',
\ 'ctrl-v': 'vsplit'
\ }
nnoremap <c-p> :FZF<cr>
" junegunn/limelight.vim
let g:limelight_conceal_ctermfg = 'gray'
let g:limelight_conceal_ctermfg = 240
function! GoyoBefore()
Limelight
endfunction
function! GoyoAfter()
Limelight!
endfunction
let g:goyo_callbacks = [function('GoyoBefore'), function('GoyoAfter')]
nnoremap <Leader>m :Goyo<CR>
" junegunn/vim-easy-align
vmap <Enter> <Plug>(EasyAlign)
nmap <Leader>a <Plug>(EasyAlign)
" majutsushi/tagbar
nmap <F9> :TagbarToggle<CR>
" simnalamburt/vim-mundo
nnoremap <F3> :GundoToggle<CR>
" tpope/vim-markdown
let g:markdown_fenced_languages = ['css', 'erb=eruby', 'javascript', 'js=javascript', 'json=javascript', 'ruby', 'sass', 'xml', 'html']
" vim-airline/vim-airline
let g:airline_powerline_fonts=1
let g:bufferline_echo = 0
let airline#extensions#default#section_use_groupitems = 0
" vim-airline/vim-airline-themes
let g:airline_theme = 'gruvbox'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment