Created
September 20, 2013 18:07
-
-
Save idcmardelplata/6641425 to your computer and use it in GitHub Desktop.
Mi configuracion personal de VIM.
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
"vi-compatible (elimina la compatibilidad con el editor VI en el cual se basa, | |
"esto es necesario para que VIM soporte todos lo plugins y las mejoras propias | |
"del editor). | |
set nocompatible | |
" Setting up Vundle - the vim plugin bundler (Vundle es el sistema que utilizo | |
" para gestionar los plugins.) | |
let iCanHazVundle=1 | |
let vundle_readme=expand('~/.vim/bundle/vundle/README.md') | |
if !filereadable(vundle_readme) | |
echo "Installing Vundle..." | |
echo "" | |
silent !mkdir -p ~/.vim/bundle | |
silent !git clone https://github.com/gmarik/vundle ~/.vim/bundle/vundle | |
let iCanHazVundle=0 | |
endif | |
" required for vundle | |
filetype off | |
set rtp+=~/.vim/bundle/vundle/ | |
call vundle#rc() | |
" let Vundle manage Vundle | |
" required! | |
Bundle 'gmarik/vundle' | |
" Bundles from GitHub repos: | |
" Python and PHP Debugger | |
Bundle 'fisadev/vim-debug.vim' | |
" Better file browser | |
Bundle 'scrooloose/nerdtree' | |
" Code commenter | |
Bundle 'scrooloose/nerdcommenter' | |
" Class/module browser | |
Bundle 'majutsushi/tagbar' | |
" Code and files fuzzy finder | |
Bundle 'kien/ctrlp.vim' | |
" Extension to ctrlp, for fuzzy command finder | |
Bundle 'fisadev/vim-ctrlp-cmdpalette' | |
" Zen coding | |
Bundle 'mattn/zencoding-vim' | |
" Git integration | |
Bundle 'motemen/git-vim' | |
" Tab list panel | |
Bundle 'kien/tabman.vim' | |
" Powerline | |
Bundle 'Lokaltog/vim-powerline' | |
" Terminal Vim with 256 colors colorscheme | |
Bundle 'fisadev/fisa-vim-colorscheme' | |
" Consoles as buffers | |
Bundle 'rosenfeld/conque-term' | |
" Pending tasks list | |
Bundle 'fisadev/FixedTaskList.vim' | |
" Surround | |
Bundle 'tpope/vim-surround' | |
" Autoclose | |
Bundle 'Townk/vim-autoclose' | |
" Indent text object | |
Bundle 'michaeljsmith/vim-indent-object' | |
" Python mode (indentation, doc, refactor, lints, code checking, motion and | |
" operators, highlighting, run and ipdb breakpoints) | |
Bundle 'klen/python-mode' | |
" Snippets manager (SnipMate), dependencies, and snippets repo | |
Bundle 'MarcWeber/vim-addon-mw-utils' | |
Bundle 'tomtom/tlib_vim' | |
Bundle 'honza/vim-snippets' | |
Bundle 'garbas/vim-snipmate' | |
" Git diff icons on the side of the file lines | |
Bundle 'airblade/vim-gitgutter' | |
" Relative numbering of lines (0 is the current line) | |
" (disabled by default because is very intrusive and can't be easily toggled | |
" on/off. When the plugin is present, will always activate the relative | |
" numbering every time you go to normal mode. Author refuses to add a setting | |
" to avoid that) | |
" Bundle 'myusuf3/numbers.vim' | |
" Bundles from vim-scripts repos | |
" Autocompletion | |
Bundle 'AutoComplPop' | |
" Python code checker | |
Bundle 'pyflakes.vim' | |
" Search results counter | |
Bundle 'IndexedSearch' | |
" XML/HTML tags navigation | |
Bundle 'matchit.zip' | |
" Gvim colorscheme | |
Bundle 'Wombat' | |
" Yank history navigation | |
Bundle 'YankRing.vim' | |
"Carga el bundle chapa. | |
Bundle 'chapa' | |
"Carga vimux (un plugin que me permite usar tmux dentro de vim). | |
Bundle 'vimux' | |
"Carga el bundle pytest | |
Bundle 'pytest.vim' | |
"Carga el bundle abolish. | |
Bundle 'abolish.vim' | |
"Carga el plugin easymotion | |
Bundle 'EasyMotion' | |
" Installing plugins the first time | |
if iCanHazVundle == 0 | |
echo "Installing Bundles, please ignore key map error messages" | |
echo "" | |
:BundleInstall | |
endif | |
" allow plugins by file type | |
filetype plugin on | |
filetype indent on | |
" tabs and spaces handling | |
set expandtab | |
set tabstop=4 | |
set softtabstop=4 | |
set shiftwidth=4 | |
" tablength exceptions | |
autocmd FileType html setlocal shiftwidth=2 tabstop=2 | |
autocmd FileType htmldjango setlocal shiftwidth=2 tabstop=2 | |
autocmd FileType javascript setlocal shiftwidth=2 tabstop=2 | |
" always show status bar | |
set ls=2 | |
" incremental search | |
set incsearch | |
" highlighted search results | |
set hlsearch | |
" line numbers | |
set nu | |
" toggle Tagbar display | |
map <F4> :TagbarToggle<CR> | |
" autofocus on Tagbar open | |
let g:tagbar_autofocus = 1 | |
" Chapa | |
let g:chapa_default_mappings = 1 | |
" easymotion | |
let g:EasyMotion_leader_key = 'ç' | |
" NERDTree (better file browser) toggle | |
map <F3> :NERDTreeToggle<CR> | |
" Mapea la combinacion <CTRL+q> para salir sin grabar | |
map <C-q> :qa!<CR> | |
" tab navigation | |
map tn :tabn<CR> | |
map tp :tabp<CR> | |
map tm :tabm | |
map tt :tabnew | |
map ts :tab split<CR> | |
map <C-S-Right> :tabn<CR> | |
imap <C-S-Right> <ESC>:tabn<CR> | |
map <C-S-Left> :tabp<CR> | |
imap <C-S-Left> <ESC>:tabp<CR> | |
" navigate windows with meta+arrows (con alt+flecha se mueve entre las ventanas) | |
map <M-Right> <c-w>l | |
map <M-Left> <c-w>h | |
map <M-Up> <c-w>k | |
map <M-Down> <c-w>j | |
imap <M-Right> <ESC><c-w>l | |
imap <M-Left> <ESC><c-w>h | |
imap <M-Up> <ESC><c-w>k | |
imap <M-Down> <ESC><c-w>j | |
" automatically close autocompletion window | |
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif | |
autocmd InsertLeave * if pumvisible() == 0|pclose|endif | |
" old autocomplete keyboard shortcut | |
imap <C-J> <C-X><C-O> | |
" show pending tasks list | |
map <F2> :TaskList<CR> | |
" save as sudo | |
ca w!! w !sudo tee "%" | |
" colors and settings of autocompletion | |
highlight Pmenu ctermbg=4 guibg=LightGray | |
" highlight PmenuSel ctermbg=8 guibg=DarkBlue guifg=Red | |
" highlight PmenuSbar ctermbg=7 guibg=DarkGray | |
" highlight PmenuThumb guibg=Black | |
" use global scope search | |
let OmniCpp_GlobalScopeSearch = 1 | |
" 0 = namespaces disabled | |
" 1 = search namespaces in the current buffer | |
" 2 = search namespaces in the current buffer and in included files | |
let OmniCpp_NamespaceSearch = 2 | |
" 0 = auto | |
" 1 = always show all members | |
let OmniCpp_DisplayMode = 1 | |
" 0 = don't show scope in abbreviation | |
" 1 = show scope in abbreviation and remove the last column | |
let OmniCpp_ShowScopeInAbbr = 0 | |
" This option allows to display the prototype of a function in the abbreviation part of the popup menu. | |
" 0 = don't display prototype in abbreviation | |
" 1 = display prototype in abbreviation | |
let OmniCpp_ShowPrototypeInAbbr = 1 | |
" This option allows to show/hide the access information ('+', '#', '-') in the popup menu. | |
" 0 = hide access | |
" 1 = show access | |
let OmniCpp_ShowAccess = 1 | |
" This option can be use if you don't want to parse using namespace declarations in included files and want to add | |
" namespaces that are always used in your project. | |
let OmniCpp_DefaultNamespaces = ["std"] | |
" Complete Behaviour | |
let OmniCpp_MayCompleteDot = 0 | |
let OmniCpp_MayCompleteArrow = 0 | |
let OmniCpp_MayCompleteScope = 0 | |
" When 'completeopt' does not contain "longest", Vim automatically select the first entry of the popup menu. You can | |
" change this behaviour with the OmniCpp_SelectFirstItem option. | |
let OmniCpp_SelectFirstItem = 0 | |
" debugger keyboard shortcuts | |
map <F5> :Dbg over<CR> | |
map <F6> :Dbg into<CR> | |
map <F7> :Dbg out<CR> | |
map <F8> :Dbg here<CR> | |
map <F9> :Dbg break<CR> | |
map <F10> :Dbg watch<CR> | |
map <F11> :Dbg down<CR> | |
map <F12> :Dbg up<CR> | |
" CtrlP (new fuzzy finder) | |
let g:ctrlp_map = ',e' | |
nmap ,g :CtrlPBufTag<CR> | |
nmap ,G :CtrlPBufTagAll<CR> | |
nmap ,f :CtrlPLine<CR> | |
nmap ,m :CtrlPMRUFiles<CR> | |
nmap ,c :CtrlPCmdPalette<CR> | |
" to be able to call CtrlP with default search text | |
function! CtrlPWithSearchText(search_text, ctrlp_command_end) | |
execute ':CtrlP' . a:ctrlp_command_end | |
call feedkeys(a:search_text) | |
endfunction | |
" CtrlP with default text | |
nmap ,wg :call CtrlPWithSearchText(expand('<cword>'), 'BufTag')<CR> | |
nmap ,wG :call CtrlPWithSearchText(expand('<cword>'), 'BufTagAll')<CR> | |
nmap ,wf :call CtrlPWithSearchText(expand('<cword>'), 'Line')<CR> | |
nmap ,we :call CtrlPWithSearchText(expand('<cword>'), '')<CR> | |
nmap ,pe :call CtrlPWithSearchText(expand('<cfile>'), '')<CR> | |
nmap ,wm :call CtrlPWithSearchText(expand('<cword>'), 'MRUFiles')<CR> | |
nmap ,wc :call CtrlPWithSearchText(expand('<cword>'), 'CmdPalette')<CR> | |
" Don't change working directory | |
let g:ctrlp_working_path_mode = 0 | |
" Ignore files on fuzzy finder | |
let g:ctrlp_custom_ignore = { | |
\ 'dir': '\v[\/](\.git|\.hg|\.svn)$', | |
\ 'file': '\.pyc$\|\.pyo$', | |
\ } | |
" Ignore files on NERDTree | |
let NERDTreeIgnore = ['\.pyc$', '\.pyo$'] | |
" simple recursive grep | |
command! -nargs=1 RecurGrep lvimgrep /<args>/gj ./**/*.* | lopen | set nowrap | |
command! -nargs=1 RecurGrepFast silent exec 'lgrep! <q-args> ./**/*.*' | lopen | |
nmap ,R :RecurGrep | |
nmap ,r :RecurGrepFast | |
nmap ,wR :RecurGrep <cword><CR> | |
nmap ,wr :RecurGrepFast <cword><CR> | |
" python-mode settings | |
" don't show lint result every time we save a file | |
let g:pymode_lint_write = 0 | |
" run pep8+pyflakes+pylint validator with \8 | |
autocmd FileType python map <buffer> <leader>8 :PyLint<CR> | |
" rules to ignore (example: "E501,W293") | |
let g:pymode_lint_ignore = "" | |
" don't add extra column for error icons (on console vim creates a 2-char-wide | |
" extra column) | |
let g:pymode_lint_signs = 0 | |
" don't fold python code on open | |
let g:pymode_folding = 0 | |
" don't load rope by default. Change to 1 to use rope | |
let g:pymode_rope = 0 | |
" rope (from python-mode) settings | |
nmap ,d :RopeGotoDefinition<CR> | |
nmap ,D :tab split<CR>:RopeGotoDefinition<CR> | |
nmap ,o :RopeFindOccurrences<CR> | |
map -w :wq | |
map -q :qa!<CR> | |
map -e :q<CR> | |
" don't let pyflakes allways override the quickfix list | |
let g:pyflakes_use_quickfix = 0 | |
" tabman shortcuts | |
let g:tabman_toggle = 'tl' | |
let g:tabman_focus = 'tf' | |
" use 256 colors when possible | |
if &term =~? 'mlterm\|xterm\|xterm-256\|screen-256' | |
let &t_Co = 256 | |
" color | |
colorscheme fisa | |
else | |
" color | |
colorscheme delek | |
endif | |
" colors for gvim | |
if has('gui_running') | |
colorscheme wombat | |
endif | |
" when scrolling, keep cursor 3 lines away from screen border | |
set scrolloff=3 | |
" autocompletion of files and commands behaves like shell | |
" (complete only the common part, list the options that match) | |
set wildmode=list:longest | |
" Fix to let ESC work as espected with Autoclose plugin | |
let g:AutoClosePumvisible = {"ENTER": "\<C-Y>", "ESC": "\<ESC>"} | |
" to use fancy symbols for powerline, uncomment the following line and use a | |
" patched font (more info on the README.rst) | |
" let g:Powerline_symbols = 'fancy' | |
" Acelerar la tecla ESC (quita el retraso molesto de la tecla). | |
set timeoutlen=1000 | |
set textwidth=80 | |
"corre un comando usando vimux. | |
map rp :VimuxPromptCommand | |
"Corre el ultimo comando ejecutado con VimuxPromptCommand | |
map rl :VimuxRunLastCommand | |
"Inspecciona el panel de vimux. | |
map ri :VimuxInspectRunner | |
"Cierra todos los otros paneles de tmux en la ventana actual. | |
map rx :VimuxCloseRunner | |
"Interrumpe cualquier comando que este corriendo en el panel actual. | |
map rs :VimuxInterruptRunner | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment