" #vim original keymaps "{{{ noremap (vim-original-visual) v noremap (vim-original-visualline) V noremap (vim-original-visualblock) noremap (vim-original-start) 0 noremap (vim-original-last) $ noremap (vim-original-front) ^ noremap (vim-original-tail) g_ inoremap (vim-original-insert-lasttext) "}}} " #vim basic command keymaps "{{{ nnoremap (u10-botright) :botright split nnoremap (u10-vertical) :vertical split nnoremap (u10-undojoin) :undojoin "}}} " #neovim terminal "{{{ if has('nvim') tnoremap " tmap jj " tnoremap h " tnoremap j " tnoremap k " tnoremap l " tはマップが存在する " nnoremap ts :botright split +Terminal " nnoremap tv :vsp +Terminal nnoremap T :tabnew +Terminal " nnoremap t :botright split +Terminal nnoremap t :call vimrc#working_terminal() tnoremap h h tnoremap j j tnoremap k k tnoremap l l nnoremap h hI nnoremap j jI nnoremap k kI nnoremap l lI endif "}}} " #toggle options "{{{ nnoremap \toc :set cursorcolumn! nnoremap \ton :set number! nnoremap \tor :set relativenumber! nnoremap \tow :set wrap! nnoremap \tol :set list! "}}} " #text_move "{{{ nnoremap (MoveUp) :call vimrc#text_move(v:count1, 1, 0) nnoremap (MoveDown) :call vimrc#text_move(v:count1, 0, 0) xnoremap (MoveUp) :call vimrc#text_move(v:count1, 1, 1) xnoremap (MoveDown) :call vimrc#text_move(v:count1, 0, 1) "}}} nnoremap (delete_for_match) :call vimrc#delete_for_match() nnoremap = :call Format() nnoremap ,gd :OpenGitDiffWin nnoremap ,gt :Tig nnoremap gst :WordTranslate nnoremap gsg :GoldenDict nnoremap n :call ResetHightlights():nohlsearch inoremap pumvisible()? "\" : "\" " inoremap jj xnoremap n :normal nnoremap ,,,,,,,,,,,,, :set titlestring=Hello " Ctrl / " Use . " imap  (vim-original-insert-lasttext) inoremap * nnoremap g?? Vg? map mp % map mmp ^% nnoremap ,i ".p nnoremap ,p "0p nnoremap ,v '['] nmap dmp (delete_for_match) nmap J (MoveDown)kJ nnoremap ( {:exec ('' ==# getline('.')? 'normal! j' : '') nnoremap ) }:exec ('' ==# getline('.')? 'normal! k' : '') xnoremap ( {:exec 'normal! gv' . ('' ==# getline("'<")? 'j' : '') xnoremap ) }:exec 'normal! gv' . ('' ==# getline("'>")? 'k' : '') nmap >p p:'[,']> nmap

nmap =p p='] " nnoremap o {o " nnoremap O }O nnoremap : vnoremap : vnoremap : " #overwrite inoremap xmap u u nnoremap Y yg_ nnoremap g nnoremap g nnoremap g nnoremap g nnoremap ] g] nnoremap g] ] nnoremap v V nnoremap V v xnoremap gv xnoremap gv nnoremap 4 xnoremap 4 nnoremap 4 xnoremap 4 nnoremap zl 4zl nnoremap zh 4zh " nnoremap 0 ^ " nnoremap ^ 0 " nnoremap - $ " xnoremap 0 ^ " xnoremap ^ 0 " xnoremap - $ " #save "{{{ if has('nvim') inoremap ZZ nnoremap ZZ else inoremap s ZZ nnoremap s ZZ end inoremap :update nnoremap :update nnoremap Zz ZZ nnoremap Zq ZQ " inoremap eq :qall! "}}} " #undo "{{{ nnoremap ,uf :earlier 1f nnoremap ,ud :earlier 1d nnoremap ,uc :UndoClear nnoremap ,uw :e! nnoremap ,u "}}} " #buffer close "{{{ nnoremap ,dd :bd nnoremap ,dq :q nnoremap ,da :qall nnoremap ,dw :wqall "}}} " #fold "{{{ nnoremap zr zR nnoremap zR zr nnoremap zm zM nnoremap zM zm "}}} " #buffer "{{{ nnoremap ,ba :ActiveOnly nnoremap ,bc :CurrentOnly nnoremap ,bo :only nnoremap ,bt :tabonly nnoremap ,bl :ls nnoremap ,bh :ls! nnoremap ,bb :b# nnoremap ,bd :bd nnoremap ,bq :q "}}} " #window"{{{ au myac CmdwinEnter * call s:cmdwin_config() function! s:cmdwin_config() nnoremap q :q nnoremap :q endfunction "}}} " #gf open file "{{{ " auto remap to is difficult if !hasmapto('gf') nnoremap gfb gf nnoremap gft gf nnoremap gfv :vertical wincmd f nnoremap gfs :botright wincmd f nnoremap gf endif "}}} " #complete "{{{ cnoremap cnoremap : inoremap n inoremap i inoremap ] inoremap k inoremap s inoremap l inoremap f inoremap o inoremap u inoremap d inoremap p inoremap v " inoremap " cannot do "}}} " #move "{{{ nnoremap gk nnoremap gj nnoremap h nnoremap l vnoremap gk vnoremap gj vnoremap h vnoremap l nnoremap k gk nnoremap j gj nnoremap gk k nnoremap gj j vnoremap k gk vnoremap j gj vnoremap gk k vnoremap gj j " foldopenでこの動作が出来る " nnoremap h foldclosed('.') != -1? "zo" : "h" nnoremap l foldclosed('.') != -1? "zO" : "l" inoremap gk inoremap gj "}}} " #emacs bind "{{{ inoremap ^ inoremap $ imap imap inoremap u inoremap u inoremap "_D cnoremap cnoremap cnoremap " noremap! is insert+command noremap! noremap! "}}} " #alt keybind "{{{ inoremap dw inoremap w inoremap b inoremap "}}} " #non register delete "{{{ nnoremap _c "_c vnoremap _c "_c nnoremap _d "_d vnoremap _d "_d nnoremap _C "_C vnoremap _C "_C nnoremap _D "_D vnoremap _D "_D nnoremap _x "_x vnoremap _x "_x nnoremap _X "_X vnoremap _X "_X "}}} " #paired map "{{{ nmap [e (MoveUp) nmap ]e (MoveDown) xmap [e (MoveUp) xmap ]e (MoveDown) nnoremap [c :cp nnoremap ]c :cc nnoremap [b :bprevious nnoremap ]b :bnext nnoremap [B :bfirst nnoremap ]B :blast " Todo: search other mappings. [p is adjust the indent paste " nnoremap [p :cprevious " nnoremap ]p :cprevious nmap [ (BlankUp) nmap ] (BlankDown) " visual-modeで[]が使えるようにする xmap [ [gv xmap ] ]gv nmap p (BlankDown)jp nmap P (BlankUp)kP "}}} " # ga Info keymap and release " {{{ if maparg('gaa') ==# '' nnoremap gaa ga xnoremap gaa ga endif nnoremap ga8 g8 xnoremap ga8 g8 nnoremap gah :SyntaxInfo xnoremap gah :SyntaxInfo nnoremap ga g xnoremap ga g nnoremap ga xnoremap ga " }}}