at main 1.6 kB view raw
1filetype plugin on 2 3" leader key 4let mapleader = ' ' 5 6" enabled options 7set colorcolumn=80 8set confirm 9set cursorline 10set expandtab 11set ignorecase 12set laststatus=2 13set mouse=n 14set nowrap 15set number 16set path=** 17set relativenumber 18set scrolloff=5 19set shiftwidth=4 20set showcmd 21set sidescrolloff=12 22set splitbelow 23set splitright 24set tabstop=4 25set termguicolors 26set timeoutlen=200 27set undofile 28set undolevels=10000 29set winminwidth=10 30 31" keymaps 32nnoremap q <cmd>wincmd q<cr> 33nnoremap Q q 34xnoremap <silent> J :m '>+1<cr>gv=gv 35xnoremap <silent> K :m '<-2<cr>gv=gv 36nnoremap <c-j> <cmd>lnext<cr> 37nnoremap <c-k> <cmd>lprev<cr> 38nnoremap - <cmd>e %:h<cr> 39 40" Auto undo breakpoints 41inoremap , ,<c-g>u 42inoremap . .<c-g>u 43inoremap ; ;<c-g>u 44 45nnoremap <leader>, :lclose<bar>call setloclist(0, map(filter(range(1, bufnr('$')), 'buflisted(v:val)'), '{"bufnr": v:val}'))<bar>lopen<cr> 46nnoremap <leader>sg :lgrep -rn '' *<left><left><left> 47nnoremap <leader>e :vimgrep "\%^" **/ 48" FIXME: really hacky way to do. I know 49nnoremap <expr> <leader><leader> HarpoonPin() 50func! HarpoonPin() 51 return ":\u0015nnoremap <leader>" . count . " :buffer " . bufnr('%') . "<cr>\n" 52endfunc 53 54colorscheme evening 55 56cnoreabbrev rere redir @*<bar> 57cnoreabbrev sos source % 58cabbrev w' w 59 60" turn on autochdir while in Insert Mode to get relative path completion 61" autochdir is quite dangerouse though 62" autocmd InsertEnter * let save_cwd = getcwd() | set autochdir 63" autocmd InsertLeave * set noautochdir | execute 'cd' fnameescape(save_cwd) 64 65command! Inspect echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')