Julio Biason
10 years ago
1 changed files with 387 additions and 0 deletions
@ -0,0 +1,387 @@ |
|||||||
|
"***************************************************************************** |
||||||
|
"" NeoBundle core |
||||||
|
"***************************************************************************** |
||||||
|
if has('vim_starting') |
||||||
|
set nocompatible " Be iMproved |
||||||
|
|
||||||
|
" Required: |
||||||
|
set runtimepath+=~/.vim/bundle/neobundle.vim/ |
||||||
|
endif |
||||||
|
|
||||||
|
let vundle_readme=expand('~/.vim/bundle/neobundle.vim/README.md') |
||||||
|
|
||||||
|
if !filereadable(vundle_readme) |
||||||
|
echo "Installing NeoBundle..." |
||||||
|
echo "" |
||||||
|
silent !mkdir -p ~/.vim/bundle |
||||||
|
silent !git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim/ |
||||||
|
endif |
||||||
|
|
||||||
|
" Required: |
||||||
|
call neobundle#begin(expand('~/.vim/bundle/')) |
||||||
|
|
||||||
|
" Let NeoBundle manage NeoBundle |
||||||
|
" Required: |
||||||
|
NeoBundleFetch 'Shougo/neobundle.vim' |
||||||
|
|
||||||
|
"***************************************************************************** |
||||||
|
"" NeoBundle install packages |
||||||
|
"***************************************************************************** |
||||||
|
" NeoBundle 'scrooloose/nerdtree' |
||||||
|
NeoBundle 'tpope/vim-commentary' |
||||||
|
NeoBundle 'tpope/vim-fugitive' |
||||||
|
NeoBundle 'kien/ctrlp.vim' |
||||||
|
NeoBundle 'bling/vim-airline' |
||||||
|
NeoBundle 'airblade/vim-gitgutter' |
||||||
|
NeoBundle 'sheerun/vim-polyglot' |
||||||
|
NeoBundle 'vim-scripts/grep.vim' |
||||||
|
NeoBundle 'vim-scripts/CSApprox' |
||||||
|
|
||||||
|
"" Snippets |
||||||
|
" NeoBundle "MarcWeber/vim-addon-mw-utils" |
||||||
|
" NeoBundle "tomtom/tlib_vim" |
||||||
|
" NeoBundle "honza/vim-snippets" |
||||||
|
" NeoBundle 'garbas/vim-snipmate' |
||||||
|
NeoBundle 'SirVer/ultisnips' |
||||||
|
NeoBundle 'honza/vim-snippets' |
||||||
|
|
||||||
|
"" Color |
||||||
|
NeoBundle 'tomasr/molokai' |
||||||
|
NeoBundle 'croaker/mustang-vim' |
||||||
|
NeoBundle 'Ambient-Color-Scheme' |
||||||
|
NeoBundle 'EditPlus' |
||||||
|
NeoBundle 'altercation/vim-colors-solarized' |
||||||
|
NeoBundle 'w0ng/vim-hybrid' |
||||||
|
|
||||||
|
"" Custom bundles |
||||||
|
|
||||||
|
"" Python Bundle |
||||||
|
NeoBundle "davidhalter/jedi-vim" |
||||||
|
NeoBundle "scrooloose/syntastic" |
||||||
|
NeoBundle "majutsushi/tagbar" |
||||||
|
|
||||||
|
|
||||||
|
"" HTML Bundle |
||||||
|
NeoBundle 'amirh/HTML-AutoCloseTag' |
||||||
|
NeoBundle 'hail2u/vim-css3-syntax' |
||||||
|
NeoBundle 'gorodinskiy/vim-coloresque' |
||||||
|
NeoBundle 'tpope/vim-haml' |
||||||
|
|
||||||
|
|
||||||
|
"" Javascript Bundle |
||||||
|
NeoBundle "scrooloose/syntastic" |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
call neobundle#end() |
||||||
|
|
||||||
|
" Required: |
||||||
|
filetype plugin indent on |
||||||
|
|
||||||
|
" If there are uninstalled bundles found on startup, |
||||||
|
" this will conveniently prompt you to install them. |
||||||
|
NeoBundleCheck |
||||||
|
|
||||||
|
"***************************************************************************** |
||||||
|
"" Basic Setup |
||||||
|
"*****************************************************************************" |
||||||
|
"" Encoding |
||||||
|
set encoding=utf-8 |
||||||
|
set fileencoding=utf-8 |
||||||
|
set fileencodings=utf-8 |
||||||
|
|
||||||
|
"" Unleash all VIM power |
||||||
|
set nocompatible |
||||||
|
|
||||||
|
"" Fix backspace indent |
||||||
|
set backspace=indent,eol,start |
||||||
|
|
||||||
|
"" allow plugins by file type |
||||||
|
filetype on |
||||||
|
filetype plugin on |
||||||
|
filetype indent on |
||||||
|
|
||||||
|
"" Tabs. May be overriten by autocmd rules |
||||||
|
set tabstop=4 |
||||||
|
set softtabstop=0 |
||||||
|
set shiftwidth=4 |
||||||
|
set expandtab |
||||||
|
|
||||||
|
"" Map leader to , |
||||||
|
let mapleader=',' |
||||||
|
|
||||||
|
"" Enable hidden buffers |
||||||
|
set hidden |
||||||
|
|
||||||
|
"" Searching |
||||||
|
set hlsearch |
||||||
|
set incsearch |
||||||
|
set ignorecase |
||||||
|
set smartcase |
||||||
|
|
||||||
|
"" Encoding |
||||||
|
set bomb |
||||||
|
set ttyfast |
||||||
|
set binary |
||||||
|
|
||||||
|
"" Directories for swp files |
||||||
|
set nobackup |
||||||
|
set noswapfile |
||||||
|
|
||||||
|
set fileformats=unix,dos,mac |
||||||
|
set backspace=indent,eol,start |
||||||
|
set showcmd |
||||||
|
set shell=/bin/sh |
||||||
|
|
||||||
|
"***************************************************************************** |
||||||
|
"" Visual Settigns |
||||||
|
"***************************************************************************** |
||||||
|
syntax on |
||||||
|
set ruler |
||||||
|
set number |
||||||
|
|
||||||
|
let no_buffers_menu=1 |
||||||
|
highlight BadWhitespace ctermbg=red guibg=red |
||||||
|
colorscheme mustang |
||||||
|
|
||||||
|
set mousemodel=popup |
||||||
|
set t_Co=256 |
||||||
|
set nocursorline |
||||||
|
set guioptions=egmrt |
||||||
|
set gfn=Monospace\ 8 |
||||||
|
|
||||||
|
if has("gui_running") |
||||||
|
if has("gui_mac") || has("gui_macvim") |
||||||
|
set guifont=Menlo:h12 |
||||||
|
set transparency=7 |
||||||
|
endif |
||||||
|
else |
||||||
|
let g:CSApprox_loaded = 1 |
||||||
|
|
||||||
|
if $COLORTERM == 'gnome-terminal' |
||||||
|
set term=xterm-256color |
||||||
|
else |
||||||
|
if $TERM == 'xterm' |
||||||
|
set term=xterm-256color |
||||||
|
endif |
||||||
|
endif |
||||||
|
endif |
||||||
|
|
||||||
|
if &term =~ '256color' |
||||||
|
set t_ut= |
||||||
|
endif |
||||||
|
|
||||||
|
"" Disable the blinking cursor. |
||||||
|
set gcr=a:blinkon0 |
||||||
|
set scrolloff=3 |
||||||
|
|
||||||
|
"" Status bar |
||||||
|
set laststatus=2 |
||||||
|
|
||||||
|
"" allow backspacing over everything in insert mode |
||||||
|
set backspace=indent,eol,start |
||||||
|
|
||||||
|
"" Use modeline overrides |
||||||
|
set modeline |
||||||
|
set modelines=10 |
||||||
|
|
||||||
|
set title |
||||||
|
set titleold="Terminal" |
||||||
|
set titlestring=%F |
||||||
|
|
||||||
|
set statusline=%F%m%r%h%w%=(%{&ff}/%Y)\ (line\ %l\/%L,\ col\ %c)\ %{fugitive#statusline()} |
||||||
|
|
||||||
|
let g:airline_theme = 'powerlineish' |
||||||
|
let g:airline_enable_branch = 1 |
||||||
|
let g:airline#extensions#tabline#enabled = 1 |
||||||
|
let g:airline#extensions#tabline#left_sep = ' ' |
||||||
|
let g:airline#extensions#tabline#left_alt_sep = '|' |
||||||
|
|
||||||
|
"***************************************************************************** |
||||||
|
"" Abbreviations |
||||||
|
"***************************************************************************** |
||||||
|
"" no one is really happy until you have this shortcuts |
||||||
|
cab W! w! |
||||||
|
cab Q! q! |
||||||
|
cab Wq wq |
||||||
|
cab Wa wa |
||||||
|
cab wQ wq |
||||||
|
cab WQ wq |
||||||
|
cab W w |
||||||
|
cab Q q |
||||||
|
|
||||||
|
"" NERDTree configuration |
||||||
|
let NERDTreeChDirMode=2 |
||||||
|
let NERDTreeIgnore=['\.rbc$', '\~$', '\.pyc$', '\.db$', '\.sqlite$', '__pycache__'] |
||||||
|
let NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\.bak$', '\~$'] |
||||||
|
let NERDTreeShowBookmarks=1 |
||||||
|
let g:nerdtree_tabs_focus_on_files=1 |
||||||
|
let g:NERDTreeMapOpenInTabSilent = '<RightMouse>' |
||||||
|
let g:NERDTreeWinSize = 20 |
||||||
|
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.db,*.sqlite |
||||||
|
nnoremap <silent> <F2> :NERDTreeFind<CR> |
||||||
|
noremap <F3> :NERDTreeToggle<CR> |
||||||
|
|
||||||
|
" grep.vim |
||||||
|
nnoremap <silent> <leader>f :Rgrep<CR> |
||||||
|
let Grep_Default_Options = '-IR' |
||||||
|
|
||||||
|
"***************************************************************************** |
||||||
|
"" Functions |
||||||
|
"***************************************************************************** |
||||||
|
function s:setupWrapping() |
||||||
|
set wrap |
||||||
|
set wm=2 |
||||||
|
set textwidth=79 |
||||||
|
endfunction |
||||||
|
|
||||||
|
function TrimWhiteSpace() |
||||||
|
let @*=line(".") |
||||||
|
%s/\s*$//e |
||||||
|
'' |
||||||
|
:endfunction |
||||||
|
|
||||||
|
"***************************************************************************** |
||||||
|
"" Autocmd Rules |
||||||
|
"***************************************************************************** |
||||||
|
"" The PC is fast enough, do syntax highlight syncing from start |
||||||
|
autocmd BufEnter * :syntax sync fromstart |
||||||
|
|
||||||
|
"" Remember cursor position |
||||||
|
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif |
||||||
|
|
||||||
|
"" txt |
||||||
|
au BufRead,BufNewFile *.txt call s:setupWrapping() |
||||||
|
|
||||||
|
"" make/cmake |
||||||
|
au FileType make set noexpandtab |
||||||
|
autocmd BufNewFile,BufRead CMakeLists.txt setlocal ft=cmake |
||||||
|
|
||||||
|
if has("gui_running") |
||||||
|
autocmd BufWritePre * :call TrimWhiteSpace() |
||||||
|
endif |
||||||
|
|
||||||
|
set autoread |
||||||
|
|
||||||
|
"***************************************************************************** |
||||||
|
"" Mappings |
||||||
|
"***************************************************************************** |
||||||
|
"" Split |
||||||
|
noremap <Leader>h :split<CR> |
||||||
|
noremap <Leader>v :vsplit<CR> |
||||||
|
|
||||||
|
"" Git |
||||||
|
noremap <Leader>ga :!git add .<CR> |
||||||
|
noremap <Leader>gc :!git commit -m '<C-R>="'"<CR> |
||||||
|
noremap <Leader>gsh :!git push<CR> |
||||||
|
noremap <Leader>gs :Gstatus<CR> |
||||||
|
noremap <Leader>gb :Gblame<CR> |
||||||
|
noremap <Leader>gd :Gvdiff<CR> |
||||||
|
noremap <Leader>gr :Gremove<CR> |
||||||
|
|
||||||
|
"" Tabs |
||||||
|
nmap <Tab> gt |
||||||
|
nmap <S-Tab> gT |
||||||
|
nnoremap <silent> <S-t> :tabnew<CR> |
||||||
|
|
||||||
|
"" Set working directory |
||||||
|
nnoremap <leader>. :lcd %:p:h<CR> |
||||||
|
|
||||||
|
"" Opens an edit command with the path of the currently edited file filled in |
||||||
|
noremap <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR> |
||||||
|
|
||||||
|
"" Opens a tab edit command with the path of the currently edited file filled |
||||||
|
noremap <Leader>te :tabe <C-R>=expand("%:p:h") . "/" <CR> |
||||||
|
|
||||||
|
"" ctrlp.vim |
||||||
|
set wildmode=list:longest,list:full |
||||||
|
set wildignore+=*.o,*.obj,.git,*.rbc,.pyc,__pycache__ |
||||||
|
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|tox)$' |
||||||
|
let g:ctrlp_user_command = "find %s -type f | grep -Ev '"+ g:ctrlp_custom_ignore +"'" |
||||||
|
let g:ctrlp_use_caching = 0 |
||||||
|
cnoremap <C-P> <C-R>=expand("%:p:h") . "/" <CR> |
||||||
|
noremap <leader>b :CtrlPBuffer<CR> |
||||||
|
let g:ctrlp_map = ',e' |
||||||
|
let g:ctrlp_open_new_file = 'r' |
||||||
|
|
||||||
|
" syntastic |
||||||
|
let g:syntastic_always_populate_loc_list=1 |
||||||
|
let g:syntastic_error_symbol='✗' |
||||||
|
let g:syntastic_warning_symbol='⚠' |
||||||
|
let g:syntastic_style_error_symbol = '✗' |
||||||
|
let g:syntastic_style_warning_symbol = '⚠' |
||||||
|
let g:syntastic_auto_loc_list=1 |
||||||
|
let g:syntastic_aggregate_errors = 1 |
||||||
|
|
||||||
|
" vim-airline |
||||||
|
let g:airline_enable_syntastic = 1 |
||||||
|
|
||||||
|
"" Remove trailing whitespace on <leader>S |
||||||
|
nnoremap <leader>:call TrimWhiteSpace()<cr>:let @/=''<CR> |
||||||
|
|
||||||
|
"" Copy/Paste/Cut |
||||||
|
noremap YY "+y<CR> |
||||||
|
noremap P "+gP<CR> |
||||||
|
noremap XX "+x<CR> |
||||||
|
|
||||||
|
" pbcopy for OSX copy/paste |
||||||
|
vmap <C-x> :!pbcopy<CR> |
||||||
|
vmap <C-c> :w !pbcopy<CR><CR> |
||||||
|
|
||||||
|
"" Buffer nav |
||||||
|
nmap <S-p> :bp<CR> |
||||||
|
nmap <S-o> :bn<CR> |
||||||
|
noremap ,z :bp<CR> |
||||||
|
noremap ,q :bp<CR> |
||||||
|
noremap ,x :bn<CR> |
||||||
|
noremap ,w :bn<CR> |
||||||
|
|
||||||
|
"" Close buffer |
||||||
|
noremap ,c :bd<CR> |
||||||
|
|
||||||
|
"" Clean search (highlight) |
||||||
|
nnoremap <silent> <leader><space> :noh<cr> |
||||||
|
|
||||||
|
"" Vmap for maintain Visual Mode after shifting > and < |
||||||
|
vmap < <gv |
||||||
|
vmap > >gv |
||||||
|
|
||||||
|
"" Open current line on GitHub |
||||||
|
noremap ,o :!echo `git url`/blob/`git rev-parse --abbrev-ref HEAD`/%\#L<C-R>=line('.')<CR> \| xargs open<CR><CR> |
||||||
|
"" Custom configs |
||||||
|
|
||||||
|
" vim-python |
||||||
|
autocmd FileType python setlocal expandtab shiftwidth=4 tabstop=8 colorcolumn=79 |
||||||
|
\ formatoptions+=croq softtabstop=4 smartindent |
||||||
|
\ cinwords=if,elif,else,for,while,try,except,finally,def,class,with |
||||||
|
|
||||||
|
" jedi-vim |
||||||
|
let g:jedi#popup_on_dot = 0 |
||||||
|
let g:jedi#goto_assignments_command = "<leader>g" |
||||||
|
let g:jedi#goto_definitions_command = "<leader>d" |
||||||
|
let g:jedi#documentation_command = "K" |
||||||
|
let g:jedi#usages_command = "<leader>n" |
||||||
|
let g:jedi#rename_command = "<leader>r" |
||||||
|
let g:jedi#show_call_signatures = "0" |
||||||
|
let g:jedi#completions_command = "<C-Space>" |
||||||
|
|
||||||
|
" syntastic |
||||||
|
let g:syntastic_python_checkers=['python', 'flake8'] |
||||||
|
|
||||||
|
" vim-airline |
||||||
|
let g:airline#extensions#virtualenv#enabled = 1 |
||||||
|
let g:airline#extensions#tagbar#enabled = 1 |
||||||
|
let g:airline_powerline_fonts = 1 |
||||||
|
let g:airline_theme = 'understated' |
||||||
|
|
||||||
|
" Tagbar |
||||||
|
nmap <silent> <F4> :TagbarToggle<CR> |
||||||
|
let g:tagbar_autofocus = 1 |
||||||
|
|
||||||
|
let g:javascript_enable_domhtmlcss = 1 |
||||||
|
|
||||||
|
|
||||||
|
"" Include user's local vim config |
||||||
|
if filereadable(expand("~/.vimrc.local")) |
||||||
|
source ~/.vimrc.local |
||||||
|
endif |
Loading…
Reference in new issue