Skip to content

Instantly share code, notes, and snippets.

@amashigeseiji
Last active May 11, 2021 08:08
Show Gist options
  • Save amashigeseiji/4485108 to your computer and use it in GitHub Desktop.
Save amashigeseiji/4485108 to your computer and use it in GitHub Desktop.
googlespreadsheetをvimキーバインドで操作したかったので設定してみた(要feedSomeKey_3.js) ※以下の設定をvimperatorrcにコピーすればhjklでの移動、insert-mode/normal-modeの切り替えとか出来ます
command! -nargs=+ lazy autocmd VimperatorEnter .* <args>
"googlespreadshet{{{
autocmd LocationChange '((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <C-j>
"insert-modeでの<esc>キーはspreadsheetでのエスケープキーにする(insert-modeは抜けない)
lazy fmaps -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i <esc>
"insert-mode/normal-modeの切り替え(iでinsert-mode/<C-j>でnormal-mode)
inoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <C-j> <esc>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <C-j> <esc>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' i gi
"hjkl
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' h gi<left><esc>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' j gi<down><esc>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' k gi<up><esc>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' l gi<right><esc>
"shift+hjklで選択
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-h> gi<S-left><esc>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-j> gi<S-down><esc>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-k> gi<S-Up><esc>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-l> gi<S-right><esc>
"yank(y)
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' y gi<M-a><M-c><C-j>
"paste(p)
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' p gi<M-v><C-j>
"undo(u)
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-1> <M-z><esc>
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' u gi<C-1><C-j>
"delete(x,d)
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' x gi<BS><ESC>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' d gi<BS><ESC>
"行選択(S-v)
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-2> <S-space>
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-v> gi<C-2><C-j>
"列選択
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-0> <M-space>
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <C-v> gi<C-0><C-j>
"<C-h><C-l>でシートを移動
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-3> <C-S-PageUp><esc>
nmap -u='(drive|docs)\.google\.com.*/spreadsheet/ccc\?key=.*[0-9]+$' <C-h> gi<C-4><C-j>
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-4> <C-S-PageDown><esc>
nmap -u='(drive|docs)\.google\.com.*/spreadsheet/ccc\?key=.*[0-9]+$' <C-l> gi<C-4><C-j>
"新規シートの作成(S-n)
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-5> <S-F11>
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-n> gi<C-5><C-j>
"コンテキストメニューを表示(S-c)
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-6> <M-S-\>
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-c> gi<C-6>
"シートリストの表示(S-s)
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-7> <S-A-k>
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-s> gi<C-7>
"シートメニューを表示(S-m)
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-8> <A-S-s>
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-m> gi<C-8>
"ファイルメニューを表示(S-f)
lazy fmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' -modes=i -events=keydown,keypress,keyup,vkeydown,vkeypress,vkeyup <C-9> <C-A-f>
nmap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-f> gi<C-9>
"tab,S-tabでコンテキストメニュー選択
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <TAB> <down>
nnoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-TAB> <up>
inoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <TAB> <down>
inoremap -u='((drive|docs)\.google\.com).*(/spreadsheet/).*[0-9]+$' <S-TAB> <up>
"}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment