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 mouse= set autoindent set smartindent 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 wi :wincmd k map wj :wincmd h map wk :wincmd j map wl :wincmd l map wq :wincmd q map wI :wincmd K map wJ :wincmd H map wK :wincmd J map wL :wincmd L map tj :tabprevious map tl :tabnext map tq :tabclose " 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 nmap - :NnnPicker % nmap n :NnnPicker % nmap N :NnnPicker