anyframeを使おう
TRANSCRIPT
anyframeを使おう2014/11/30
三宅 英明(mollifier)
自己紹介
名前: 三宅 英明
Twitter: @mollifier
はてなID: mollifier
神戸のプログラマ
好きなもの
zsh
vim
vimperator
ブログとか
はてなブログ
http://mollifier.hatenablog.com/
http://twitter.com/mollifier
Qiita
http://qiita.com/mollifier
anyframeを使おうanyframeとは
anyframeのインストール
anyframeの設定
anyframeでできること
自分で関数を追加する
anyframeを使おうanyframeとは
anyframeのインストール
anyframeの設定
anyframeでできること
自分で関数を追加する
anyframeとはpecoと組み合わせて使う関数が入ってるやつ
mollifier氏が作った
https://github.com/mollifier/anyframe
anyframeとは要するに便利な関数が入ってるだけ
自分で書けない/書きたくない人向け
anyframeとは作ろうと思ったきっかけ
anyframeとはググったらよく出てくるやつ
function peco-select-history() { local tac if which tac > /dev/null; then tac="tac" else tac="tail -r" fi BUFFER=$(history -n 1 | \ eval $tac | \ peco --query "$LBUFFER") CURSOR=$#BUFFER zle clear-screen}zle -N peco-select-history
anyframeとは間違いではない
動く
でも無駄なことしてる
なんかかっこわるい
かっこわるいポイント1evalしてる
eval $tac | \
# こうすればevalしなくてもいける${=tac} | \
かっこわるいポイント2そもそもtacとかいらないhistoryの-rオプションで上下順番が逆になる
BUFFER=$(history -n -r 1 | \ peco --query "$LBUFFER")
anyframeとはmanに書いてある
ちゃんとman読め
anyframeとはでも実際にはみんなコピペで使う
ブログとかにコピペで広まってる
多すぎてもう直せない
anyframeとはじゃあちゃんとしたやつを作ろう
ブログ記事は直せない
でもGitHubに置けば直せる
プルリクもできる
anyframeとはというわけでanyframeを作りました
anyframeとは現状ではあんまりはやってない
ぜひ使いましょう
anyframeを使おうanyframeとは
anyframeのインストール
anyframeの設定
anyframeでできること
自分で関数を追加する
anyframeのインストール手動でインストールする方法$HOME/.zsh/の下にインストールする場合の例
# ディレクトリがまだない場合は作成する% mkdir $HOME/.zsh/% cd $HOME/.zsh/% git clone [email protected]:mollifier/anyframe.git
anyframeのインストールそのあと~/.zshrcに次の設定を追加する
fpath=($HOME/.zsh/anyframe(N-/) $fpath)autoload -Uz anyframe-initanyframe-init
anyframeのインストールAntigenでもインストールできる
antigen bundle mollifier/anyframe
anyframeを使おうanyframeとは
anyframeのインストール
anyframeの設定
anyframeでできること
自分で関数を追加する
anyframeの設定使い方は、関数があるので、それにキーバインドを割り当てるだけ
anyframeの設定~/.zshrcの設定の例
bindkey '^xb' anyframe-widget-cdrbindkey '^x^b' anyframe-widget-checkout-git-branchbindkey '^x^r' anyframe-widget-execute-historybindkey '^x^p' anyframe-widget-put-historybindkey '^x^g' anyframe-widget-cd-ghq-repositorybindkey '^x^k' anyframe-widget-killbindkey '^x^i' anyframe-widget-insert-git-branch
anyframeの設定割り当てできる関数はhttps://github.com/mollifier/anyframe/tree/master/anyframe-functions/widgetsの中にある
anyframeを使おうanyframeとは
anyframeのインストール
anyframeの設定
anyframeでできること
自分で関数を追加する
anyframeでできること
anyframe-widget-execute-history
コマンドライン履歴から選んで実行する
anyframe-widget-put-history
コマンドライン履歴から選んでコマンドラインに挿入する
anyframeでできること
anyframe-widget-checkout-git-branch
Gitブランチを切り替える
anyframe-widget-insert-git-branch
Gitブランチ名をコマンドラインに挿入する
anyframeでできること
anyframe-widget-cdr
過去に移動したことのあるディレクトリに移動する(cdrが必要)
anyframe-widget-kill
プロセスをkillする
anyframeでできること
anyframe-widget-cd-ghq-repository
ghqコマンドで管理しているリポジトリに移動する
anyframe-widget-insert-filename
ファイル名をコマンドラインに挿入する
anyframeを使おうanyframeとは
anyframeのインストール
anyframeの設定
anyframeでできること
自分で関数を追加する
自分で関数を追加する
もちろん、自分で関数を追加できる
anyframeに含まれている他の関数が使える
自分で一から書くより楽
自分で関数を追加する
具体的な書き方は「ソースコード読んで」
自分で関数を追加する
ほんとはちゃんとドキュメント書かないといけない
ドキュメントはだいぶ不足してる
これがはやっていない原因の1つ
anyframeを使おうでも、普通に使う分にはだいたい使えると思う
anyframeを使おうぜひ使ってみてください
anyframeを使おうありがとうございました