set nocompatible filetype off call plug#begin('~/.vim/plugged') Plug 'vim-scripts/a.vim' Plug 'vim-scripts/po.vim' Plug 'jamessan/vim-gnupg' Plug 'vim-scripts/ShowTrailingWhitespace' Plug 'vim-scripts/vcscommand.vim' Plug 'tpope/vim-fugitive' Plug 'gregsexton/gitv' Plug 'airblade/vim-gitgutter' Plug 'ctrlpvim/ctrlp.vim' Plug 'ervandew/supertab' Plug 'Lokaltog/vim-easymotion' Plug 'mattn/calendar-vim', {'on': ['Calendar', 'CalendarH', 'CalendarT', 'CalendarVR']} Plug 'vim-scripts/paredit.vim' Plug 'tpope/vim-eunuch' Plug 'tpope/vim-repeat' Plug 'tpope/vim-unimpaired' Plug 'tpope/vim-surround' Plug 'tpope/vim-commentary' Plug 'mileszs/ack.vim' if executable('ag') let g:ackprg = 'ag --vimgrep' endif Plug 'kana/vim-operator-user' Plug 'SirVer/ultisnips' Plug 'honza/vim-snippets' Plug 'scrooloose/syntastic' Plug 'Valloric/YouCompleteMe', {'do': './install.sh --clang-completer --system-libclang', 'frozen': 1} Plug 'vim-scripts/DoxygenToolkit.vim' Plug 'antoyo/vim-licenses' let g:licenses_copyright_holders_name = "Joaquín Aguirrezabalaga " Plug 'sgur/vim-editorconfig' " Filetypes Plug 'vimoutliner/vimoutliner' Plug 'rhysd/vim-clang-format', {'for': ['c', 'cpp']} Plug 'peterhoeg/vim-qml', {'for': 'qml'} Plug 'hynek/vim-python-pep8-indent', {'for': 'python'} Plug 'solarnz/thrift.vim', {'for': 'thrift'} Plug 'saltstack/salt-vim', {'for': 'salt'} Plug 'pearofducks/ansible-vim', {'for': 'ansible'} Plug 'kurayama/systemd-vim-syntax', {'for': 'systemd'} Plug 'kergoth/vim-bitbake', {'for': 'bitbake'} Plug 'fatih/vim-go', {'for': 'go'} Plug 'guns/vim-clojure-static', {'for': 'clojure'} Plug 'tpope/vim-fireplace', {'for': 'clojure'} Plug 'rust-lang/rust.vim', {'for': 'rust'} let g:rustfmt_autosave = 1 Plug 'cespare/vim-toml', {'for': 'toml'} Plug 'othree/xml.vim', {'for': 'xml'} Plug 'timcharper/textile.vim', {'for': 'textile'} Plug 'elzr/vim-json', {'for': 'json'} let g:vim_json_syntax_conceal = 0 Plug 'othree/html5.vim' let g:html_exclude_tags = ['html', 'script', 'style'] Plug 'pangloss/vim-javascript' Plug 'posva/vim-vue' Plug 'leafgarland/typescript-vim' Plug 'Quramy/tsuquyomi' Plug 'Glench/Vim-Jinja2-Syntax' Plug 'mustache/vim-mustache-handlebars' Plug 'glensc/vim-syntax-lighttpd', {'for': 'lighttpd'} " Text editing Plug 'junegunn/goyo.vim' Plug 'junegunn/limelight.vim' let g:limelight_conceal_ctermfg = 240 Plug 'reedes/vim-pencil' " Markdown Plug 'godlygeek/tabular' Plug 'gabrielelana/vim-markdown' "let g:markdown_enable_conceal = 1 Plug 'chmp/mdnav' "Plug 'jjaderberg/vim-ft-asciidoc' "let g:asciidoc_use_defaults = ['editing', 'navigating', 'compiling', 'options'] "let g:asciidoc_use_defaults = ['folding', 'editing', 'navigating', 'compiling', 'options'] " Asciidoctor Plug 'dahu/vimple' Plug 'dahu/Asif' Plug 'Raimondi/VimRegStyle' Plug 'dahu/vim-asciidoc' Plug 'Rykka/riv.vim' Plug 'Rykka/InstantRst' Plug 'gyim/vim-boxdraw' " Style and decorations Plug 'bling/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'asenac/vim-airline-loclist' let g:airline_theme='jellybeans' let g:airline_left_sep='' let g:airline_right_sep='' "let g:airline_section_z='' "let g:airline#extensions#syntastic#enabled = 1 let g:airline#extensions#whitespace#enabled = 0 let g:airline#extensions#loclist#enabled = 1 Plug 'nanotech/jellybeans.vim' Plug 'DougBeney/pickachu' call plug#end() filetype plugin indent on if has("patch-8.0-1085") packadd termdebug endif syntax on set bg=dark let g:jellybeans_overrides = { \ 'Normal' : {'256ctermbg': 'None'}, \ 'NonText' : {'256ctermbg': 'None'}, \ 'CursorLine' : {'256ctermbg': 232}, \ 'DiffAdd' : {'256ctermbg': 236, '256ctermfg': 'None'}, \ 'DiffDelete' : {'256ctermbg': 246, '256ctermfg': 236}, \ 'DiffChange' : {'256ctermbg': 235, '256ctermfg': 'None'}, \ 'DiffText' : {'256ctermbg': 54, '256ctermfg': 'None', 'attr': ''}, \ 'ShowTrailingWhitespace' : {'256ctermbg': 198, '256ctermfg': 233}, \ 'String' : {'256ctermfg': 148}, \ 'ColorColumn': {'256ctermbg': 233}, \} colorscheme jellybeans let &colorcolumn="80,120" set backspace=indent,eol,start set modeline set modelines=5 set showmatch set tw=0 set incsearch set hidden set cursorline set wildmode=longest,list:longest,list:full set laststatus=2 "Show always the statusline "au BufWritePost ~/.vimrc so ~/.vimrc au BufWritePost ~/.Xresources !xrdb ~/.Xresources "au BufEnter *.rhtml setf html au BufEnter *.rbx setf ruby au BufEnter *.cls setf tex au BufEnter *.docbook setf xml au BufEnter *.ms setf scheme au BufEnter *.pde setf cpp au BufEnter *.ino setf cpp au BufEnter *.otl setf votl au BufEnter ~/todo/* setf votl au BufEnter ~/TODO setf votl au BufEnter TODO setf votl au BufEnter ~/ACTUALIZACION setf votl au BufEnter ~/.mutt/* setf muttrc au BufEnter ~/.bash* setf sh au BufEnter /etc/apache2/* setf apache au BufEnter wscript setf python au BufEnter wscript_build setf python "au BufEnter * lcd %:p:h " "au BufWritePost ~/.Xresources system("xrdb ~/.Xresources") au BufEnter ~/ast/* setf asterisk let g:changelog_username = "Joaquín Aguirrezabalaga " let g:debianfullname = 'Joaquín Aguirrezabalaga' let g:debianemail = 'kinote@kinote.org' let g:debchangelog_fold_enable = 1 "let g:EMAIL = "Joaquin Aguirrezabalaga " inoremap JAE Joaquin Aguirrezabalaga set printoptions=syntax:n "set printotions="%<%f%h%=Page %N" " search for tags in current folder or its parents until / set tags=./tags;/ noremap :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . map :Sexplore map :TagbarToggle map :make map = inoremap imap jk noremap j_ noremap k_ set winminheight=0 map gqap let mapleader="," let maplocalleader=",," "set encoding=utf-8 "set fileencoding=utf-8 let Tlist_WinWidth = 39 set scrolloff=2 set mouse=a let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1 let g:calendar_monday = 1 let g:calendar_diary = "~/.diary" let spell_executable = "aspell" let spell_aspell_tex_args = "-t" if version >= 700 set spelllang=es,en_us endif let g:haddock_browser = 'x-www-browser' " Evitar pliegues set foldlevel=99 set foldlevelstart=99 " Mapear la barra a abrir/cerrar fold nnoremap @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo') " Print options set printfont=courier:h8 set printoptions=paper:a4,portrait:y,left:10mm,right:10mm,top:10mm,bottom:10mm runtime! ftplugin/man.vim " make cmdline more similar to readline cnoremap cnoremap cnoremap cnoremap cnoremap let g:omlet_indent_let=0 "let g:omlet_indent_match = 0 "let g:omlet_indent_function = 0 let g:GPGPreferArmor=1 let g:EnhCommentifyUseAltKeys='yes' let g:vimwiki_list = [{'path': '~/.vimwiki/', \ 'index': 'main', 'ext': '.w.gpg'}] let g:vimwiki_dir_link = 'main' let g:vimwiki_folding = 1 let g:vimwiki_fold_lists = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 let g:syntastic_python_checkers = ['flake8'] let g:syntastic_c_checkers = ['ycm'] let g:syntastic_cpp_checkers = ['ycm'] let g:syntastic_javascript_checkers = ['eslint'] let g:syntastic_vue_checkers = ['eslint'] let g:syntastic_rst_checkers = ['sphinx'] let local_eslint = finddir('node_modules', '.;') . '/.bin/eslint' if matchstr(local_eslint, "^\/\\w") == '' let local_eslint = getcwd() . "/" . local_eslint endif if executable(local_eslint) let g:syntastic_javascript_eslint_exec = local_eslint let g:syntastic_vue_eslint_exec = local_eslint endif let g:syntastic_php_checkers = ['php'] let g:syntastic_sh_checkers = ['sh', 'shellcheck', 'bashate', 'checkbashishms'] let g:syntastic_shell = "/bin/bash" let g:syntastic_go_checkers = ['go', 'golint', 'govet', 'errcheck'] let g:syntastic_rust_checkers = ['cargo'] let g:ycm_always_populate_location_list = 1 let g:ycm_server_log_level = 'info' let g:ycm_global_ycm_extra_conf='~/.vim/ycm_extra_conf.py' let g:ycm_python_binary_path = 'python' nnoremap jj :YcmCompleter GoTo nnoremap jd :YcmCompleter GoToDeclaration nnoremap jt :YcmCompleter GetType nnoremap jp :YcmCompleter GetParent nnoremap jf :YcmCompleter FixIt nnoremap m :make nnoremap gg :Goyo nnoremap ll :Limelight!! let g:UltiSnipsExpandTrigger = '' let g:UltiSnipsJumpForwardTrigger = '' let g:UltiSnipsJumpBackwardTrigger = '' if executable('clang-format') let g:clang_format#command='clang-format' elseif executable('clang-format-3.6') let g:clang_format#command='clang-format-3.6' endif let g:clang_format#detect_style_file=1 let g:clang_format#auto_format=0 let g:xml_syntax_folding=1 let g:DoxygenToolkit_briefTag_pre="" let g:go_fmt_command = "goimports" " Detect VUE files augroup filetypedetect au! BufRead,BufNewFile *.vue setfiletype html augroup END set directory=~/.vimtmp// if !isdirectory($HOME."/.vimtmp") call mkdir($HOME."/.vimtmp") endif " remove trailing whitespace nnoremap W :%s/\s\+$//:let @/='' " Move cursor by display lines when wrapping noremap k gk noremap j gj noremap 0 g0 noremap $ g$ "augroup pencil " autocmd! " autocmd FileType markdown,mkd,text call pencil#init() " autocmd FileType mail call pencil#init({'textwidth': 72}) "augroup END let g:pencil#softDetectSample = 0 let g:ctrlp_custom_ignore = { \ 'dir': '\.git$\|\.hg$\|\.svn$\|\.yardoc$\|node_modules$\|venv$', \ 'file': '\.exe$\|\.so$\|\.dat$\|\.o$' \ } let g:ctrlp_root_markers = ['.ctrlp'] let g:is_posix = 1 let g:goyo_width = 120 let g:goyo_height = '90%' function! s:goyo_enter() if exists('$TMUX') silent !tmux set status off endif set noshowmode set noshowcmd set scrolloff=999 "Limelight endfunction function! s:goyo_leave() if exists('$TMUX') silent !tmux set status on endif set showmode set showcmd set scrolloff=5 "Limelight! endfunction autocmd! User GoyoEnter nested call goyo_enter() autocmd! User GoyoLeave nested call goyo_leave() nnoremap gv :Gitv --all nnoremap gV :Gitv! --all xnoremap gV :Gitv! --all " Local settings - Run this last runtime! local.vim