" XDG Specifications let rtp=&runtimepath set runtimepath=~/.config/vim let &runtimepath.=','.rtp.',~/.config/vim/after' set directory=~/.config/vim/swap//,.,~/tmp,/var/tmp,/tmp set backupdir=~/.config/vim/backup//,.,~/tmp,~/ set spellfile=~/.config/vim/spell/en.utf-8.add set viminfo+=n~/.config/vim/viminfo set viewdir=~/.config/vim/view/ set undodir=~/.config/vim/undo//,. " Preferences set list listchars=tab:⎸\ ,trail:~ set clipboard=unnamedplus set shellcmdflag=-c set encoding=utf-8 set relativenumber filetype plugin on set shiftwidth=4 set nocompatible set cursorline set ignorecase set expandtab set smartcase set autoread set wildmenu set hlsearch set swapfile set undofile set mouse=a set showcmd set number syntax on if (empty($TMUX) && getenv('TERM_PROGRAM') != 'Apple_Terminal') if (has("nvim")) let $NVIM_TUI_ENABLE_TRUE_COLOR=1 endif if (has("termguicolors")) set termguicolors endif endif " Keybinds noremap :setlocal spell! spelllang=en noremap :setlocal spell! spelllang=es noremap :TagbarToggle noremap !!$SHELL noremap :bn noremap :bd noremap :w noremap 5< noremap 5- noremap 5+ noremap 5> noremap H :nohl noremap za noremap N /@@@ " groff autocmd FileType groff noremap :!zathura --fork %:r.pdf & disown autocmd FileType groff noremap :w :!groffc % au BufNewFile,BufRead *.ms set filetype=groff " Python autocmd FileType python noremap :!python % " Functions "Open a shell on a vertical split set splitright function OpenTerminal() execute "normal \" execute "normal \" execute "normal \" execute "normal \" let bufNum = bufnr("%") let bufType = getbufvar(bufNum, "&buftype", "not found") if bufType == "terminal" execute "q" else execute "bot sp term://bash" execute "resize -8" execute "set nonu" execute "set nornu" silent au BufLeave stopinsert! silent au BufWinEnter,WinEnter startinsert! execute "tnoremap " execute "tnoremap :q" execute "tnoremap " execute "IndentLinesDisable" startinsert! endif endfunction nnoremap :call OpenTerminal() " Plugins if empty(glob('~/.config/vim/autoload/plug.vim')) silent !curl -fLo ~/.config/vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim autocmd VimEnter * PlugInstall --sync | source '~/.config/vim/vimrc' endif call plug#begin() Plug 'instant-markdown/vim-instant-markdown' Plug 'vim-airline/vim-airline-themes' Plug 'norcalli/nvim-colorizer.lua' Plug 'vim-scripts/AutoComplPop' Plug 'vim-airline/vim-airline' Plug 'ryanoasis/vim-devicons' Plug 'airblade/vim-gitgutter' Plug 'rhysd/vim-clang-format' Plug 'jiangmiao/auto-pairs' Plug 'tpope/vim-commentary' Plug 'Yggdroot/indentLine' Plug 'preservim/nerdtree' Plug 'ibhagwan/fzf-lua' Plug 'preservim/tagbar' Plug 'morhetz/gruvbox' call plug#end() " Gruvbox let g:gruvbox_contrast_dark='hard' let g:gruvbox_italic=1 set background=dark colorscheme gruvbox " AutoComplPop inoremap pumvisible() ? "" : "" set completeopt=menuone,longest set complete+=kspell " Airline let g:airline#extensions#tabline#buffer_min_count = 1 let g:airline#extensions#tabline#enabled = 1 let g:airline_powerline_fonts = 1 set ttimeout ttimeoutlen=0 set laststatus=2 set noshowmode " NERDTree nnoremap :NERDTreeToggle " IndentLine let g:indentLine_enabled = 1 let g:indentLine_char = '⎸' " fzf-lua noremap :FzfLua git_branches noremap :FzfLua git_commits noremap :FzfLua git_status noremap :FzfLua files noremap gb :FzfLua git_branches noremap gs :FzfLua git_status noremap gf :FzfLua files " git-gutter highlight GitGutterChange guifg=#83a598 ctermfg=3 highlight GitGutterDelete guifg=#fb4934 ctermfg=1 highlight GitGutterAdd guifg=#b8bb26 ctermfg=2 highlight SignColumn guibg=NONE ctermbg=NONE let g:gitgutter_set_sign_backgrounds = 1 noremap gd :GitGutterToggle set signcolumn=yes set updatetime=100 " Instant Markdown let g:instant_markdown_autostart = 0 autocmd FileType markdown noremap :InstantMarkdownPreview let g:instant_markdown_browser = "firefox --new-window" let g:instant_markdown_mathjax = 1 let g:instant_markdown_mermaid = 1