let mapleader = "\" nnoremap N 'nN'[v:searchforward] nnoremap n 'Nn'[v:searchforward] nnoremap :nohlsearch " emacs風キーバインド cnoremap cnoremap cnoremap cnoremap cnoremap cnoremap inoremap inoremap inoremap inoremap " inoremap " inoremap " 便利なウィンドウ移動 nnoremap h nnoremap j nnoremap k nnoremap l nnoremap q " zero nnoremap 0 getline('.')[0 : col('.') - 2] =~# '^\s\+$' ? '0' : '^' " 色々クリア nnoremap l :nohlsearch:diffupdate:syntax sync fromstart:call popup_clear() " 表示行ごとに移動 nnoremap j gj nnoremap k gk " Visualで行末まで vnoremap v $h " jjでノーマルに inoremap j getline('.')[col('.') - 2] ==# 'j' ? "\\" : 'j' " 便利な貼り付け nnoremap p ]p nnoremap P ]P nnoremap ]p p nnoremap ]P P " Undoポイントを貼り付ける inoremap u inoremap u inoremap u " シュッと nnoremap n :bn nnoremap p :bp " 全行ハイライト augroup VimrcFileType autocmd! autocmd FileType vue syntax sync fromstart autocmd FileType html syntax sync fromstart augroup END " シュッと開くやつ command! VIM silent e ~/.vimrc | cd ~/dotfiles command! -nargs=1 -complete=file Open :call system("open".." ''") " denoでシュッとリダイレクト先を探す function! GetRedirectUrl(url) abort let r = system('curl -w "%{redirect_url}" -s -o /dev/null ' .. shellescape(a:url)) if r == "" return a:url endif return r endfunction vnoremap r c=GetRedirectUrl(@") if !has('nvim') let s:cell = [ \] let s:cellwidths = [] for i in s:cell let s:c = char2nr(i[0]) call add(s:cellwidths, [s:c, s:c, i[1]]) endfor call setcellwidths(s:cellwidths) endif