Created
August 13, 2018 16:50
-
-
Save luizpaulogodoy/a3ff73d99fd9b54bd554d710bf4b459d to your computer and use it in GitHub Desktop.
This file contains 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
set nocompatible " be iMproved, required | |
filetype off " required | |
set rtp+=~/.vim/bundle/Vundle.vim " set the runtime path to include Vundle | |
call vundle#begin() " and initialize | |
" Keep Plugin commands between vundle#begin/end. | |
Plugin 'VundleVim/Vundle.vim' | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'kien/ctrlp.vim' | |
Plugin 'vim-airline/vim-airline' | |
Plugin 'vim-airline/vim-airline-themes' | |
Plugin 'tomasr/molokai' | |
Plugin 'tpope/vim-rails' | |
Plugin 'fatih/vim-go' | |
Plugin 'moll/vim-bbye' | |
Plugin 'terryma/vim-multiple-cursors' | |
Plugin 'vim-scripts/grep.vim' | |
" All of your Plugins must be added before the following line | |
call vundle#end() " required | |
filetype plugin indent on " required | |
" Brief help | |
" :PluginList - lists configured plugins | |
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate | |
" :PluginSearch foo - searches for foo; append `!` to refresh local cache | |
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal | |
" | |
" see :h vundle for more details or wiki for FAQ | |
" Put your non-Plugin stuff after this line | |
" Encoding | |
set encoding=utf-8 | |
set fileencoding=utf-8 | |
set fileencodings=utf-8 | |
" Fix backspace problem | |
set backspace=indent,eol,start | |
" Tabs. May be overriten by autocmd rules | |
set tabstop=4 " tab spaces | |
set softtabstop=0 | |
set shiftwidth=4 " shift spaces | |
set expandtab | |
" Map leader to , | |
let mapleader=',' | |
" Enable Syntax Highlighting | |
syntax enable | |
colorscheme molokai | |
let g:molokai_original = 1 | |
" Search Highlighting | |
set hlsearch | |
set incsearch | |
set ignorecase | |
set smartcase | |
" show line numbers | |
set number | |
set relativenumber | |
set ruler | |
set cursorline | |
" Vim multiple cursors | |
let g:multi_cursor_use_default_mapping=0 | |
let g:multi_cursor_start_word_key = '<C-d>' | |
let g:multi_cursor_select_all_word_key = '<A-d>' | |
let g:multi_cursor_start_key = 'g<C-d>' | |
let g:multi_cursor_select_all_key = 'g<A-d>' | |
let g:multi_cursor_next_key = '<C-d>' | |
let g:multi_cursor_prev_key = '<C-p>' | |
let g:multi_cursor_skip_key = '<C-x>' | |
let g:multi_cursor_quit_key = '<Esc>' | |
" NERDTree | |
nnoremap <silent> <C-n> :NERDTreeToggle<CR> | |
nnoremap <leader>F :NERDTreeFind<CR> | |
" Airline | |
let g:airline#extensions#tabline#enabled = 1 " enable airline extension | |
let g:airline_powerline_fonts = 1 " integrate with powerline fonts | |
let g:airline#extensions#tabline#formatter = 'unique_tail' " short filename in tab bar | |
" Automatically change the current directory | |
autocmd BufEnter * silent! lcd %:p:h | |
" Enable hiden buffers | |
set hidden | |
" File type | |
if has("autocmd") | |
autocmd BufNewFile,BufReadPost *.as set filetype=actionscript | |
autocmd BufNewFile,BufReadPost *.mxml set filetype=mxml | |
autocmd BufNewFile,BufReadPost *.jsfl set filetype=javascript | |
autocmd BufNewFile,BufReadPost *.json set filetype=json | |
autocmd BufNewFile,BufReadPost *.less set filetype=less | |
autocmd BufNewFile,BufReadPost *.sass set filetype=sass | |
autocmd BufNewFile,BufReadPost *.scss set filetype=scss | |
autocmd BufNewFile,BufReadPost *.coffee set filetype=coffee | |
autocmd BufNewFile,BufReadPost *.ts set filetype=typescript | |
autocmd BufNewFile,BufReadPost *.jad set filetype=java | |
endif | |
" File indent | |
" sw - Set shiftwidth - Indent shifts by # spaces | |
" sts - Set softtabstop - Indent tabs by # spaces | |
" ts - Set tabstop - Indent tabs by # spaces | |
" et - Set expandtab - Use spaces instead of tabs | |
" si - Set smartindent - File type based indentation | |
if has("autocmd") | |
filetype plugin on | |
filetype indent on | |
autocmd FileType apache setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType actionscript setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType c setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType cpp setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType coffee setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType cs setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType css setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType diff setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType html setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType java setlocal sw=4 sts=4 ts=4 noet si | |
autocmd FileType javascript setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType json setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType less setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType lua setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType mxml setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType perl setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType php setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType python setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType ruby setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType haml setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType sass setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType scss setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType sh setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType sql setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType typescript setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType vb setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType vim setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType wsh setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType xhtml setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType xml setlocal sw=4 sts=4 ts=4 et si | |
autocmd FileType yaml setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType zsh setlocal sw=2 sts=2 ts=2 et si | |
autocmd FileType scala setlocal sw=4 sts=4 ts=4 noet si | |
endif | |
" Copy, Paste and Cut | |
vnoremap <C-c> "+y | |
vnoremap <C-x> "+d | |
inoremap <C-v> <ESC>"+pa | |
vnoremap YY "+y | |
vnoremap XX "+x | |
noremap <leader>p "+gP | |
" Buffers | |
nnoremap <leader>q :Bdelete<CR> | |
nnoremap <Tab> :bn<CR> | |
nnoremap <S-Tab> :bp<CR> | |
" Tabs | |
nnoremap [t gT | |
nnoremap ]t gt | |
" grep.vim | |
nnoremap <leader>f :Rgrep<CR> | |
let Grep_Default_Options = '-IR' | |
let Grep_Skip_Files = '*.log *.db' | |
let Grep_Skip_Dirs = '.git node_modules' | |
" Ignore files and directories for ctrlp | |
set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux | |
let g:ctrlp_custom_ignore = '\v[\/](node_modules|bower_components|target|dist|build)|(\.(swp|ico|git|hg|svn))$' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment