Skip to content

Instantly share code, notes, and snippets.

@vladshablinsky
Forked from RGBD/.vimrc
Last active August 29, 2015 14:25
Show Gist options
  • Save vladshablinsky/a8ed3de666957da2787b to your computer and use it in GitHub Desktop.
Save vladshablinsky/a8ed3de666957da2787b to your computer and use it in GitHub Desktop.
Well, someone asked for it.
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
" My plugins
Plugin 'tpope/vim-fugitive'
Plugin 'scrooloose/nerdtree'
Plugin 'tpope/vim-surround'
Plugin 'altercation/vim-colors-solarized'
Plugin 'kien/ctrlp.vim' " fuzzy search, never used
Plugin 'bling/vim-airline'
Plugin 'majutsushi/tagbar'
Plugin 'tpope/vim-repeat'
Plugin 'airblade/vim-gitgutter'
Plugin 'Valloric/YouCompleteMe'
Plugin 'tpope/vim-markdown'
" top vim plugins above ----------------------------------------------
Plugin 'junegunn/vim-easy-align'
Plugin 'AndrewRadev/splitjoin.vim'
Plugin 'scrooloose/nerdcommenter'
Plugin 'vim-scripts/bufkill.vim'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'tpope/vim-unimpaired'
Plugin 'terryma/vim-smooth-scroll'
Plugin 'jeffkreeftmeijer/vim-numbertoggle'
Plugin 'takac/vim-hardtime'
Plugin 'git://git.code.sf.net/p/vim-latex/vim-latex'
Plugin 'nathanaelkane/vim-indent-guides'
Plugin 'lyokha/vim-xkbswitch'
Plugin 'MarcWeber/vim-addon-local-vimrc'
"Plugin 'Raimondi/delimitMate'
Plugin 'jiangmiao/auto-pairs'
" ruby support ------------------------------------------------------
Plugin 'tpope/vim-endwise'
Plugin 'vim-scripts/ruby-matchit'
Plugin 'vim-ruby/vim-ruby'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin s:indent changes, instead use:
"filetype plugin on
"# My tunes
"## Enabling external files
set secure " don't allow changing files
"## Default tab settings
set ts=2 et sw=0 sts=-1
"## Appearance
syntax on
set go-=m go-=T
set scrolloff=2
set lazyredraw
set incsearch
set background=dark
set number
set colorcolumn=80
let g:airline_powerline_fonts = !(&term=~'linux') " neat arrows
let g:airline#extensions#tabline#enabled = 1 " use buffers
set laststatus=2 " always show buffers
set wildmenu
set wildmode=longest:full,full " rich command suggestion
set wildignorecase
set showcmd " show command being entered
set vb
colorscheme solarized
"colorscheme mustang
set guifont=DejaVu\ Sans\ Mono\ for\ Powerline"\ 11
"## Behavior
set backspace=2 " else not working
set ignorecase
set smartcase
set hidden " allow hidden buffers
set smartindent
"## Keybindings
"### Plain text editor key bindings.
:inoremap <silent><S-Tab> <C-o><<
:inoremap <F3> <C-o>n
:inoremap <S-F3> <C-o>N
:noremap <Leader><CR> :nohlsearch<CR>
"### Moving lines with A-j A-k
nnoremap <silent><A-j> :m .+1<CR>==
nnoremap <silent><A-k> :m .-2<CR>==
inoremap <silent><A-j> <Esc>:m .+1<CR>==gi
inoremap <silent><A-k> <Esc>:m .-2<CR>==gi
vnoremap <silent><A-j> :m '>+1<CR>gv=gv
vnoremap <silent><A-k> :m '<-2<CR>gv=gv
"# GUI integration
set mouse=a
set mousemodel=popup_setpos
"# I MUST learn VIM. The hard way.
:noremap <up> <nop>
:noremap <down> <nop>
:noremap <left> <<
:noremap <right> >>
:inoremap <up> <nop>
:inoremap <down> <nop>
:inoremap <left> <nop>
:inoremap <right> <nop>
"# Plugin Settings
"## solarized
let g:solarized_contrast="high"
"## Hardtime settings
let g:hardtime_showmsg=1
let g:hardtime_maxcount=5
"autocmd BufEnter * HardTimeOn
"## vim-indent-guides
autocmd Vimenter * IndentGuidesEnable
"## xkb-switch
let g:XkbSwitchLib='/usr/local/lib/libxkbswitch.so'
let g:XkbSwitchEnabled=1
"## YouCompleteMe settings
let g:ycm_error_symbol=">>"
let g:ycm_warning_symbol="!!"
let g:ycm_allow_changing_update_time=1
let g:ycm_autoclose_preview_window_after_insertion=1
let g:ycm_confirm_extra_conf=0
let g:ycm_global_ycm_extra_conf='~/.ycm_extra_conf.py'
let g:ycm_collect_identifiers_from_tags_files=1
autocmd FileType c nnoremap <buffer> <silent> <C-]> :YcmCompleter GoTo<cr>
"## smooth scroll settings
noremap <silent> <c-u> :call smooth_scroll#up(&scroll, 0, 2)<CR>
noremap <silent> <c-d> :call smooth_scroll#down(&scroll, 0, 2)<CR>
noremap <silent> <c-b> :call smooth_scroll#up(&scroll*2, 0, 4)<CR>
noremap <silent> <c-f> :call smooth_scroll#down(&scroll*2, 0, 4)<CR>
"## EasyMotion
map <Leader> <Plug>(easymotion-prefix)
"## NERDTree
let g:nerdtree_tabs_autoclose=1
"## EasyAlign
vmap <CR> <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment