Slide 1

Slide 1 text

git-gutter.el 関西 Emacs勉強 #07 Syohei Yoshida(@syohex)

Slide 2

Slide 2 text

git-gutter.elとは ● Sublime Textの GitGutterの Emacs版 – Vim版 vim-gitgutter ● 前回のコミットからの差分を視覚化 ● インストール – MELPA, marmalade, el-get

Slide 3

Slide 3 text

こんな感じ

Slide 4

Slide 4 text

目的 変更をわかりやすく!! ● 前回からどこを変更したか ● 余計な変更を加えていないか ? – delete-trailing-whitespace – 関係ない部分の変更

Slide 5

Slide 5 text

コマンド ● 差分情報の表示 M-x git-gutter ● 差分箇所間の移動 M-x git-gutter:{next-hunk,previous-hunk} ● 現在の差分箇所のポップアップ M-x git-gutter:popup-hunk ● 現在の差分箇所の revert M-x git-gutter:reverse-hunk

Slide 6

Slide 6 text

各種サポート ● global-minor-mode, minor-mode ● 特定のモードでの無効化 ● リモートファイルの編集(tramp) ● narrow-to-region ● indirect-buffer

Slide 7

Slide 7 text

カスタマイズ

Slide 8

Slide 8 text

git-gutter-fringe ● git-gutter.elの問題 – linum-modeと共存できない – 右サイドに差分情報を表示できない ● 解決方法 – バッファではなく fringeに差分情報を表示 ● git-gutter-fringeの問題点 – no windowでは利用できない

Slide 9

Slide 9 text

こんな感じ

Slide 10

Slide 10 text

git-gutter vs git-gutter-fringe git-gutter git-gutter-fringe linum-modeとの共存 ✘ ○ no window対応 ○ ✘ 右サイドの表示 ✘ ○ カスタマイズ性 ○ △

Slide 11

Slide 11 text

デモンストレーション

Slide 12

Slide 12 text

課題 ● 高速化 – window-configuration-change-hook – キャッシュ – (Macのみ?)表示が乱れる ● 他の VCSのサポート – mercurial等

Slide 13

Slide 13 text

github.com/ syohex/emacs-git-gutter

Slide 14

Slide 14 text

ご清聴ありがとうございました