のススメ
2012/06/23 @ HC社内勉強会 #5
14年11月3日月曜日
今日話すこと
なぜエディタの話か
Vimの基本
今時のプラグインについて
エディタ以外のVimの話
14年11月3日月曜日
好きだから
生産性を向上させる強力なツールだから
いつも開発環境があるとは限らない
使ってると少し仕事が楽しくなる(はず)
なぜエディタの話か
14年11月3日月曜日
なんでVimなのか?
好きだから
色んな環境で動く
カスタマイズ性が非常に高い
ユーザが多いので情報が豊富
14年11月3日月曜日
以下の機能を満たさないエディタは
今すぐ投げ捨てろ!!
文字(改行)コード対応/自動判別
シンタックスハイライト
マクロ
正規表現による検索/置換
メモリが許す限りの無限Undo/Redo
14年11月3日月曜日
というわけでVimを使う
14年11月3日月曜日
インストール
Windows
→ http://wwwkaoriya.net/#VIM
Mac OS X
→ http://code.google.com/p/macvim-kaoriya/
その他
→ 多分インストール済み
無ければapt-getとかで適当に(ググればなんとかなる :-D)
14年11月3日月曜日
起動したらまず
:Tutorial、ゼッタイ!
14年11月3日月曜日
Tutorialをやってる暇はないので
ざっくりまとめると
Vimにはモードがある
モードの切り替え方
基本的な移動コマンド
オペレータとモーションについて
検索/置換、Undoのやり方
積極的にヘルプを使おう
14年11月3日月曜日
基本的な移動コマンド
(ノーマルモード)
14年11月3日月曜日
オペレータとモーション
d → delete
y → yank (copy)
c → change (delete + インサート)
v → visual (選択)
使い方
{operator}{motion}
14年11月3日月曜日
オペレータとモーションの
組合せ例
w(ord)
$
(行末)
}
(次の段落)
G
(ファイル末尾)
d(elete)
y(ank)
c(hange)
v(isual)
選択
dw
単語を削除
d$
行末まで削除
d}
次段落まで削除
dG
末尾まで削除
yw
単語をコピー
y$
行末までコピー
y}
次段落までコピー
yG
末尾までコピー
cw
単語を変更
c$
行末まで変更
c}
次段落まで変更
cG
末尾まで変更
vw
単語を選択
v$
行末まで選択
v}
次段落まで選択
vG
末尾まで選択
14年11月3日月曜日
テキストオブジェクト
iw → 単語の中(in word)
aw → 単語全体 (a word)
i( → 小括弧の中 (in ())
ap → 段落全体 (a paragraph)
it → XMLタグの中 (in tag)
…などなど
14年11月3日月曜日
マクロ(実例)
14年11月3日月曜日
プラグインって?
14年11月3日月曜日
operator/motion系
operator-camelize
→ snake_case と camelCaseの変換
operator-sort
→ モーション範囲の文字をソート
text-obj-comment
→ コメント部分を表すTextObject
14年11月3日月曜日
FileTypeに応じて
tComment.vim
→ 選択範囲をコメント化
matchit.vim
→ 構文上のペアを%で移動
14年11月3日月曜日
surround.vim
「何か」の まわり に作用する
特殊なOperator/Motionを提供する
「何か」にはTextObjectも含まれる為
TextObjectが増える程便利になる
14年11月3日月曜日
Alignta.vim
ある範囲のテキストについて、
各行における任意のパターンの
桁位置を揃える(整列する)
ためのプラグイン
14年11月3日月曜日
gundo.vim
A
14年11月3日月曜日
gundo.vim
A B
14年11月3日月曜日
gundo.vim
A B C
14年11月3日月曜日
gundo.vim
A B C
14年11月3日月曜日
gundo.vim
A B C
D
14年11月3日月曜日
gundo.vim
A B C
D
1 2,4 3
5
14年11月3日月曜日
gundo.vim
A B C
D
1 2,4 3
5
普通のUndo/Redo : u/<C-r>
時系列のUndo/Redo : g-/g+
14年11月3日月曜日
neocomplcache
様々なソースを元に補完
ファイル、コマンド、バッファ、
シンタックス、スニペット
他多数
14年11月3日月曜日
quickrun.vim
編集中のファイルをすぐに実行
することができるプラグイン
→ 設定次第でmainなしも可能
→ 出力先を変更したりも
14年11月3日月曜日
その他、こんなのも
TweetVim
→ 真面目に仕事してると見せかけて(ry
Facebook.vim
→ 真面目に仕事してると見せかけて(ry
カラースキーマ全般
→ 好みの配色に一発切替
14年11月3日月曜日
vundle
プラグインを管理するプラグイン
コマンド一発でインストール
アップデートも一発更新
github/vim.orgを自動判別
14年11月3日月曜日
設定管理
14年11月3日月曜日
エディタ以外のVimの話
http://vrapper.sourceforge.net/
14年11月3日月曜日
エディタ以外のVimの話
テキスト
14年11月3日月曜日
Gmail/GoogleReader
bash/zshなどのshell
Excelにすらある
エディタ以外のVimの話
14年11月3日月曜日
Vimの本質は合理的な
キーバインドにある
(と思う)
14年11月3日月曜日
ご清聴ありがとうございました
14年11月3日月曜日

Vim no susume