set nocompatible " be iMproved, required filetype indent plugin on " required set modeline set modelines=1 set nowrap set viminfo='100,<100,s20 " vim file history set hidden set expandtab set shiftwidth=2 set number set relativenumber set undolevels=1000 set undoreload=10000 set updatetime=300 let mapleader = " " nmap :w imap :w vmap gv noremap y "+y noremap p "+p noremap i noremap j noremap k noremap h i vnoremap K L vnoremap I H vnoremap H I nnoremap K L nnoremap I H nnoremap H I map i :wincmd k map j :wincmd h map k :wincmd j map l :wincmd l map I :wincmd K map J :wincmd H map K :wincmd J map L :wincmd L " replay macro for each line of a visual selection xnoremap @q :normal @q xnoremap @@ :normal @@ " reselect and re-yank any text that is pasted in visual mode xnoremap p pgvy " Escape overwrite inoremap jj " Open new buffer nmap T :enew " Move to the next buffer nmap l :bnext " Move to the previous buffer nmap j :bprevious " Close the current buffer and move to the previous one " This replicates the idea of closing a tab nmap q :bp bd # " Show all open buffers and their status nmap bl :ls " Mapping selecting mappings nmap (fzf-maps-n) xmap (fzf-maps-x) omap (fzf-maps-o) nmap :Files imap :Files " Insert mode completion imap (fzf-complete-word) imap (fzf-complete-path) imap (fzf-complete-file) imap (fzf-complete-line) " Clear quickfix shortcut nmap c :ccl " Remember cursor position " Vim jumps to the last position when reopening a file if has("autocmd") au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif endif