Toyama.rb #17 エディタについて語ろう会 LT 資料
vimの操作と俺とホットキー Powered by Rabbit 2.2.0vimの操作と俺とホットキー伊藤 邦彦Toyamarb#17 エディタについて語ろう会2017-05-13
View Slide
vimの操作と俺とホットキー Powered by Rabbit 2.2.0p selfname: 伊藤 邦彦✓github: kunitoo✓work: [Ruby, Rails, Neo4j]✓
vimの操作と俺とホットキー Powered by Rabbit 2.2.0My Editor HistoryEclipse(Emacs key bind)✓Emacs✓Vim✓
vimの操作と俺とホットキー Powered by Rabbit 2.2.0きっかけhttps://www.slideshare.net/pharaohkj/ss-70439887
vimの操作と俺とホットキー Powered by Rabbit 2.2.0俺とホットキー大変共感しました✓自分の使ってる Vim はこうだよって言いたい比較みたいにまとめてみました✓Vimではホットキーというかは微妙ですが✓✓
vimの操作と俺とホットキー Powered by Rabbit 2.2.0キーの表記Control key と v を同時に入力VimCtrl-v✓EmacsCtrl + v "俺とホットキー"の表記✓
vimの操作と俺とホットキー Powered by Rabbit 2.2.0上下左右Vimj k h l✓Emacs(Ctrl + p ・ 同n ・ 同b ・同f)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0範囲選択開始Vimv✓Emacs(Ctrl + h, Ctrl +h)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0コピーVimy✓yy (1行コピー)✓Emacs(Cmd + w)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0カットVimd✓dd (1行カット)✓Emacs(Ctrl + w)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0ペーストVimp✓Emacs(Ctrl + y)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0アンドゥ・リドゥVimu✓Ctrl-r✓Emacs(Ctrl + - ・ Ctrl + ?)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0矩形選択VimCtrl-v✓Emacs(Ctrl + h > Ctrl + b)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0カーソル単語選択Vimviw✓Emacs(Cmd + , )
vimの操作と俺とホットキー Powered by Rabbit 2.2.0単語右・左Vimw (words forward)✓b (words backward)✓Emacs(Cmd + f ・ Cmd + b)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0行末・行頭Vim$✓0✓Emacs(Ctrl + e ・ Ctrl + a > Ctrl + a)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0論理行頭Vim^✓Emacs(Ctrl + a)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0行削除Vimdd✓Emacs(Ctrl + a > Ctrl + k)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0空行挿入Vimo✓Emacs(Ctrl + o)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0行クローンVimyyp✓Emacs(Cmd + Enter)動作同じじゃないかも
vimの操作と俺とホットキー Powered by Rabbit 2.2.0カーソル行コピーVimyy✓Emacs(Cmd + Shift + Enter)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0編集行画面中央Vimzz✓Emacs(Ctrl + l)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0カーソル単語削除・単語削除Vimdiw (bdw)✓dw✓Emacs(Cmd + d ・ Cmd + BS)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0ファイル先頭・ファイル末尾Vimgg✓G✓Emacs(Ctrl + < ・ Ctrl + > )
vimの操作と俺とホットキー Powered by Rabbit 2.2.0入力補完Vim(insert mode)Ctrl-x Ctrl-l✓ (ervandew/supertab plugin を利用)✓Emacs(Ctrl + SPC)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0ファイル履歴から開くVim:b (補完)✓bShougo/unite.vim plugin を入れてnnoremap b :Unite buffer✓Emacs(Ctrl + ;)動作同じじゃないかも
vimの操作と俺とホットキー Powered by Rabbit 2.2.0最後に編集した箇所に移動VimCtrl-o✓Emacs(Ctrl + j > Ctrl + j)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0直前に開いていたウィンドウ@kunitoo- (Awesome Window Manager)@pharaohkj さん(OS) (Cmd + Tab)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0タグジャンプVimCtrl-]✓Emacs(Ctrl + j > Ctrl + t)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0バックタグジャンプVimCtrl-ttmux の prefix-key に使ってるので使ってない✓Emacs(Ctrl + j > Ctrl + b)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0指定行に移動Vim:{number}✓Emacs(Ctrl + j > Ctrl + g)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0行ブックマークVim使ってないEmacs(Ctrl - ' > Ctrl - a)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0対応するカッコに移動Vim%✓Emacs(Cmd + Ctrl + n/p)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0対応するカッコの自動入力Vim使ってないですEmacs()
vimの操作と俺とホットキー Powered by Rabbit 2.2.0カーソルの下のファイル開くVimこの操作が分かりませんでした...Emacs(+その行へ) (compile 実行後 対象行で enter)
vimの操作と俺とホットキー Powered by Rabbit 2.2.0これ以降はkunitoo がよく使う便利な操作
vimの操作と俺とホットキー Powered by Rabbit 2.2.0インデント>>✓
vimの操作と俺とホットキー Powered by Rabbit 2.2.0フォーマット=✓
vimの操作と俺とホットキー Powered by Rabbit 2.2.0引用符を含む文字列の操作(text-objects)operator と text-objects を組み合わせるoperatory コピー✓d 削除✓
vimの操作と俺とホットキー Powered by Rabbit 2.2.0引用符を含む文字列の操作(text-objects)text-objectsa' ('を含む'で囲われた文字列)✓i' ('を含まない'で囲われた文字列)✓例ya'✓yi"✓tpope/vim-surround でさらに便利に
vimの操作と俺とホットキー Powered by Rabbit 2.2.0最後の操作を繰返す.✓
vimの操作と俺とホットキー Powered by Rabbit 2.2.0設定(~/.vimrc)if &compatibleset nocompatibleendifset runtimepath+=~/.vim/repos/github.com/Shougo/dein.vimif dein#load_state('~/.vim/dein')call dein#begin('~/.vim/dein')call dein#add('Shougo/unite.vim')call dein#add('ervandew/supertab')call dein#add('tpope/vim-surround')call dein#add('vim-scripts/twilight256.vim')call dein#end()call dein#save_state()endiffiletype plugin indent onsyntax enablecolorscheme twilight256set clipboard=unnamedplusset expandtab tabstop=2 shiftwidth=2set nobackupnoremap ; :noremap : ;nnoremap b :Unite buffer