" nmap r tnoremap tnoremap "move to the end of a text after copying/pasting it vnoremap y y`] vnoremap p p`] nnoremap p p`] " Space+something to move to an end " noremap h ^ " noremap l $ " noremap k gg " noremap j G noremap H ^ noremap L $ " unmap s,space nnoremap [Win] vnoremap [Win] nmap s [Win] vmap s [Win] nnoremap nnoremap " window control nnoremap [Win]s :split nnoremap [Win]v :vsplit " st is used by defx nnoremap [Win]c :tab sp nnoremap [Win]C :-tab sp nnoremap [Win]j j nnoremap [Win]k k nnoremap [Win]l l nnoremap [Win]h h nnoremap [Win]J J nnoremap [Win]K K nnoremap [Win]L L nnoremap [Win]H H nnoremap [Win]z :terminal nnoremap [Win]n gt nnoremap [Win]p gT nnoremap [Win]r r nnoremap [Win]= = nnoremap [Win]O = nnoremap [Win]o _\| nnoremap [Win]q tabc nnoremap [Win]1 1tabnext nnoremap [Win]2 2tabnext nnoremap [Win]3 3tabnext nnoremap [Win]4 4tabnext nnoremap [Win]5 5tabnext nnoremap [Win]6 6tabnext nnoremap [Win]7 7tabnext nnoremap [Win]8 8tabnext nnoremap [Win]9 9tabnext nnoremap Q :copen " move by display line nnoremap j v:count == 0 ? 'gj' : 'j' xnoremap j (v:count == 0 && mode() ==# 'v') ? 'gj' : 'j' nnoremap k v:count == 0 ? 'gk' : 'k' xnoremap k (v:count == 0 && mode() ==# 'v') ? 'gk' : 'k' nnoremap gj j nnoremap gk k xnoremap gj j xnoremap gk k " always replace considering zenkaku nnoremap r gr nnoremap R gR nnoremap gr r nnoremap gR R " do not copy when deleting by x nnoremap x "_x " swap t and / " noremap t / " noremap / t " noremap T ? " noremap ? T " quit this window by q nnoremap q q " nnoremap q :bd nnoremap wq :qa nnoremap Q :qa " delete this buffer by bd nnoremap bd bd " increase and decrease by plus/minus nnoremap + nnoremap - vmap g+ g vmap g- g " switch quote and backquote nnoremap ' ` nnoremap ` ' " save with in insert mode inoremap :updatea "save by s nnoremap s update nnoremap ws wall "reload init.vim nnoremap r so ~/.config/nvim/init.vim "open init.vim in new tab nnoremap fed tabnewe ~/.config/nvim/init.vim " grep nnoremap vv :vimgrep // %:p:h/* " recursive search let s:use_vim_grep = 0 if s:use_vim_grep nnoremap vr :vimgrep // %:p:h/** else " nnoremap vr Rg set grepprg=rg\ --vimgrep\ --no-heading\ -uuu nnoremap vr :grep -e "" endif " quickfix jump nmap [q :cprevious " 前へ nmap ]q :cnext " 次へ nmap [Q cfirst " 最初へ nmap ]Q clast " 最後へ "window-local quickfix jump nmap [w :lprevious " 前へ nmap ]w :lnext " 次へ nmap [W lfirst " 最初へ nmap ]W llast " 最後へ " In quickfix window... augroup QuickfixWindow autocmd! autocmd filetype qf nnoremap p zzj augroup END " one push to add/remove tabs nnoremap > >> nnoremap < << " tagsジャンプの時に複数ある時は一覧表示 nnoremap g " 補完せず補完ウィンドウを閉じてから移動 " inoremap pumvisible() ? "=ExecExCommand('normal b')" : "=ExecExCommand('normal b')" " inoremap pumvisible() ? "=ExecExCommand('normal w')" : "=ExecExCommand('normal w')" " inoremap pumvisible() ? "=ExecExCommand('normal h')" : "=ExecExCommand('normal h')" " inoremap pumvisible() ? "=ExecExCommand('normal l')" : "=ExecExCommand('normal l')" inoremap "=ExecExCommand('normal b')" inoremap "=ExecExCommand('normal w')" " 行移動 inoremap "=ExecExCommand('normal gk')" inoremap "=ExecExCommand('normal gj')" function! ExecExCommand(cmd) silent exec a:cmd return '' endfunction " very magic検索 " nnoremap / /\v " nnoremap ? ?\v " 行頭へ移動 cnoremap inoremap " 行末へ移動 cnoremap inoremap nnoremap gss :SaveSession nnoremap gsr :StartRepeatedSave nnoremap gsl :LoadSession nnoremap gsc :CleanUpSession