Skip to content

Instantly share code, notes, and snippets.

@Bouni
Forked from samuelb/init.vim
Created March 21, 2017 19:58
Show Gist options
  • Save Bouni/9a2333d8b068dca555055501fefd375c to your computer and use it in GitHub Desktop.
Save Bouni/9a2333d8b068dca555055501fefd375c to your computer and use it in GitHub Desktop.
" ~/.config/nvim/init.vim
"
" After add / remove Plugins, run :PlugInstall / :PlugClean
if has('nvim')
let $VIMHOME = '~/.config/nvim'
else
let $VIMHOME = '~/.vim'
endif
let $PLUGVIM = expand($VIMHOME . '/autoload/plug.vim')
if empty(glob($PLUGVIM))
silent !curl -fLo $PLUGVIM --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall | source $MYVIMRC
endif
call plug#begin($VIMHOME . '/plugged')
Plug 'airblade/vim-gitgutter'
Plug 'bling/vim-airline'
Plug 'ervandew/supertab'
Plug 'garbas/vim-snipmate'
Plug 'godlygeek/tabular'
Plug 'hashivim/vim-terraform'
Plug 'hashivim/vim-vagrant'
Plug 'honza/vim-snippets'
Plug 'kien/ctrlp.vim'
Plug 'MarcWeber/vim-addon-mw-utils'
Plug 'mattn/emmet-vim'
Plug 'ntpeters/vim-better-whitespace'
Plug 'plasticboy/vim-markdown'
Plug 'robbles/logstash.vim'
Plug 'rodjek/vim-puppet'
Plug 'scrooloose/nerdtree'
Plug 'scrooloose/syntastic'
Plug 'tomasr/molokai'
Plug 'tomtom/tlib_vim'
Plug 'tpope/vim-fugitive'
Plug 'vim-airline/vim-airline-themes'
Plug 'vim-ruby/vim-ruby'
Plug 'vim-scripts/nginx.vim'
Plug 'Xuyuanp/nerdtree-git-plugin'
call plug#end()
syntax on
silent! colorscheme molokai
let g:airline_theme = 'wombat'
let g:airline#extensions#tabline#enabled = 1
let g:airline_powerline_fonts = 1
" display row at 81 and from 101 chars
if exists('+colorcolumn')
let &colorcolumn="81,".join(range(101,999),",")
hi colorcolumn guibg=#232526 ctermbg=234
endif
set tabstop=4
set shiftwidth=4
set softtabstop=0 " 4
set smarttab
set expandtab
"set shiftround
"set autoindent
"set fo-=t
set number
set nowrap
set nobackup
set nowritebackup
set noswapfile
set matchpairs=(:),[:],{:},<:>,":",':'
set cursorline
"set clipboard+=unnamedplus
set mouse=r
" folding
"set foldmethod=indent
augroup vimrc
au BufReadPre * setlocal foldmethod=indent
au BufWinEnter * if &fdm == 'indent' | setlocal foldmethod=manual | endif
augroup END
set foldnestmax=1
set foldlevelstart=1
"set nofoldenable
" make search case insensitive
set nohlsearch
set incsearch
set ignorecase
set smartcase
" Tap autocompletion behaviour
set wildmode=longest,list
set wildmenu
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
" display trailing spaces/tabs
highlight ExtraWhitespace ctermbg=red
" Ctrl-P settings - https://github.com/kien/ctrlp.vim#basic-options
let g:ctrlp_working_path_mode = 'a'
" setting per filetype
autocmd FileType make setlocal noexpandtab
autocmd FileType html setlocal noexpandtab
autocmd FileType xhtml setlocal noexpandtab
autocmd FileType xml setlocal noexpandtab
autocmd FileType rst setlocal tw=98
autocmd FileType tex setlocal tw=79 wrap makeprg=pdflatex\ \"%\"
autocmd FileType sh setlocal tw=79 expandtab sw=2 ts=2
autocmd FileType tf setlocal sw=2 ts=2
autocmd BufRead,BufNewFile Vagrantfile setlocal makeprg=vagrant\ provision sw=2 ts=2
autocmd BufRead,BufNewFile */nginx/*.conf set ft=nginx
autocmd BufRead,BufNewFile */nginx/*.erb set ft=nginx
"autocmd FileType pp setlocal sw=2 ts=2
" better indentation
vnoremap < <gv
vnoremap > >gv
" split screen navigation
noremap <C-j> <C-w>j
noremap <C-k> <C-w>k
noremap <C-l> <C-w>l
noremap <C-h> <C-w>h
" save on CTRL-S
inoremap <C-s> <Esc>:w<CR>a
nnoremap <C-s> :w<CR>
" NERDTree
map <C-n> :NERDTreeToggle<CR>
" close vim if NERDTree is the only windows left open
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment