Last active
August 29, 2015 14:02
-
-
Save sgsheg/81926d796a425c63820c to your computer and use it in GitHub Desktop.
vimrc on my linux
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" vim-sublime - A minimal Sublime Text -like vim experience bundle | |
" http://github.com/grigio/vim-sublime | |
" Best view with a 256 color terminal and Powerline fonts | |
set nocompatible | |
filetype off | |
set rtp+=~/.vim/bundle1/vundle/ | |
call vundle#rc() | |
Bundle 'gmarik/vundle' | |
Bundle 'tpope/vim-surround' | |
Bundle 'gcmt/breeze.vim' | |
Bundle 'kien/ctrlp.vim' | |
Bundle 'SirVer/ultisnips' | |
Bundle 'tomtom/tcomment_vim' | |
Bundle 'bling/vim-airline' | |
Bundle 'airblade/vim-gitgutter' | |
" rails | |
Bundle 'tpope/vim-rails.git' | |
"snipmate.vim | |
Bundle 'msanders/snipmate.vim' | |
" Color Themes | |
Bundle 'flazz/vim-colorschemes' | |
colorscheme Monokai | |
" Use zencoding | |
Bundle "mattn/emmet-vim" | |
"Use nerdtree | |
Bundle 'scrooloose/nerdtree' | |
"""""""" | |
if has('autocmd') | |
filetype plugin indent on | |
endif | |
if has('syntax') && !exists('g:syntax_on') | |
syntax enable | |
endif | |
" Use :help 'option' to see the documentation for the given option. | |
set autoindent | |
set backspace=indent,eol,start | |
set complete-=i | |
set showmatch | |
set showmode | |
set smarttab | |
set nrformats-=octal | |
set shiftround | |
set ttimeout | |
set ttimeoutlen=50 | |
set incsearch | |
" Use <C-L> to clear the highlighting of :set hlsearch. | |
if maparg('<C-L>', 'n') ==# '' | |
nnoremap <silent> <C-L> :nohlsearch<CR><C-L> | |
endif | |
set laststatus=2 | |
set ruler | |
set showcmd | |
set wildmenu | |
set autoread | |
set encoding=utf-8 | |
set tabstop=2 shiftwidth=2 expandtab | |
set listchars=tab:▒░,trail:▓ | |
set list | |
inoremap <C-U> <C-G>u<C-U> | |
set number | |
set hlsearch | |
set ignorecase | |
set smartcase | |
" Don't use Ex mode, use Q for formatting | |
map Q gq | |
" In many terminal emulators the mouse works just fine, thus enable it. | |
if has('mouse') | |
set mouse=a | |
endif | |
" do not history when leavy buffer | |
set hidden | |
" FIXME: (broken) ctrl s to save | |
noremap <C-S> :update<CR> | |
vnoremap <C-S> <C-C>:update<CR> | |
inoremap <C-S> <Esc>:update<CR> | |
set nobackup | |
set nowritebackup | |
set noswapfile | |
set fileformats=unix,dos,mac | |
" exit insert mode | |
inoremap <C-c> <Esc> | |
set completeopt=menuone,longest,preview | |
" | |
" Plugins config | |
" | |
" CtrlP | |
set wildignore+=*/.git/*,*/.hg/*,*/.svn/* | |
" Ultisnip | |
" NOTE: <f1> otherwise it overrides <tab> forever | |
let g:UltiSnipsExpandTrigger="<f1>" | |
let g:UltiSnipsJumpForwardTrigger="<f1>" | |
let g:UltiSnipsJumpBackwardTrigger="<c-k>" | |
let g:did_UltiSnips_vim_after = 1 | |
" vim-airline | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline_powerline_fonts = 1 | |
" | |
" Basic shortcuts definitions | |
" most in visual mode / selection (v or ⇧ v) | |
" | |
" Find | |
" map <C-f> / | |
" indend / deindent after selecting the text with (⇧ v), (.) to repeat. | |
vnoremap <Tab> > | |
vnoremap <S-Tab> < | |
" comment / decomment & normal comment behavior | |
vmap <C-m> gc | |
" Disable tComment to escape some entities | |
let g:tcomment#replacements_xml={} | |
" Text wrap simpler, then type the open tag or '," | |
vmap <C-w> S | |
" Cut, Paste, Copy | |
vmap <C-x> d | |
vmap <C-v> p | |
vmap <C-c> y | |
" Undo, Redo (broken) | |
"nnoremap <C-z> :undo<CR> | |
"inoremap <C-z> <Esc>:undo<CR> | |
nnoremap <C-y> :redo<CR> | |
inoremap <C-y> <Esc>:redo<CR> | |
" Tabs | |
let g:airline_theme='badwolf' | |
let g:airline#extensions#tabline#enabled = 1 | |
"nnoremap <C-b> :tabprevious<CR> | |
"inoremap <C-b> <Esc>:tabprevious<CR>i | |
nnoremap <C-n> :tabnext<CR> | |
inoremap <C-n> <Esc>:tabnext<CR>i | |
nnoremap <C-t> :tabnew<CR> | |
inoremap <C-t> <Esc>:tabnew<CR>i | |
nnoremap <C-k> :tabclose<CR> | |
inoremap <C-k> <Esc>:tabclose<CR>i | |
" lazy ':' | |
map \ : | |
let mapleader = ',' | |
nnoremap <Leader>p :set paste<CR> | |
nnoremap <Leader>o :set nopaste<CR> | |
noremap <Leader>g :GitGutterToggle<CR> | |
" this machine config | |
if filereadable(expand("~/.vimrc.local")) | |
source ~/.vimrc.local | |
endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment