SlideShare a Scribd company logo
Antigenを使おう2015/05/04
三宅 英明(mollifier)
自己紹介
名前: 三宅 英明
Twitter: @mollifier
はてなID: mollifier
神戸のプログラマ
好きなもの
zsh
vim
vimperator
ブログとか
はてなブログ
http://mollifier.hatenablog.com/
Twitter
http://twitter.com/mollifier
Qiita
http://qiita.com/mollifier
Antigenを使おう
Antigenとは
Antigenをインストールする
Antigenを使ってプラグインをインス
トールする
ちょっと注意
Antigenを使おう
Antigenとは
Antigenをインストールする
Antigenを使ってプラグインをインス
トールする
ちょっと注意
Antigenとは
Antigenとは、zshのプラグインを管
理するやつ
https://github.com/zsh-users/
antigen
Antigenとは
zshプラグインのインストール、更新
ができる
VimのNeoBundleみたいなやつ
ありがちなパターン
「zshを使ってる人は、これを入れる
と便利だよ!」
「ほうほう、試してみるか」
ありがちなパターン
GitHubからリポジトリをクローンし
て…
% mkdir ~/.zsh
% cd ~/.zsh
% git clone https://github.com/mollifier/cd-gitroot.git
ありがちなパターン
~/.zshrcに追記して…
fpath=(~/.zsh/cd-gitroot(N-/) $fpath)
autoload -Uz cd-gitroot
ありがちなパターン
めんどくさい
特に、複数のマシンを使ってるとき
は、それぞれでこの作業をする必要
がある
ありがちなパターン
久しぶりにノートマシンを使った
ら…「あれ、XXXが入ってないぞ?」
ありがちなパターン
どこに何をインストールしたのかを
忘れる
新しいバージョンに更新するのも大
変
ありがちなパターン
そんなときはAntigenを使いましょう
Antigenを使おう
Antigenとは
Antigenをインストールする
Antigenを使ってプラグインをインス
トールする
ちょっと注意
Antigenをインストールする
~/.zshの下にインストールする場合の
例
% mkdir ~/.zsh
% cd ~/.zsh
% git clone git@github.com:zsh-users/antigen.git
Antigenをインストールする
その後~/.zshrcにこれを追加する
if [[ -f ~/.zsh/antigen/antigen.zsh ]]; then
source ~/.zsh/antigen/antigen.zsh
antigen apply
fi
Antigenを使おう
Antigenとは
Antigenをインストールする
Antigenを使ってプラグインをインス
トールする
ちょっと注意
Antigenを使ってプラグインをイ
ンストールする
さっそくzshのプラグインをインスト
ールしてみましょう
Antigenを使ってプラグインをイ
ンストールする
antigenの書式
antigen bundle <GitリポジトリのURL>
Antigenを使ってプラグインをイ
ンストールする
これをsourceとantigen applyの間に
書く
if [[ -f ~/.zsh/antigen/antigen.zsh ]]; then
source ~/.zsh/antigen/antigen.zsh
antigen bundle https://github.com/mollifier/cd-gitroot.git
antigen apply
fi
Antigenを使ってプラグインをイ
ンストールする
ただし、リポジトリがGitHubにある場
合はURLを省略して <ユーザ名/リポ
ジトリ名> と書ける
if [[ -f ~/.zsh/antigen/antigen.zsh ]]; then
source ~/.zsh/antigen/antigen.zsh
antigen bundle mollifier/cd-gitroot
antigen apply
fi
Antigenを使ってプラグインをイ
ンストールする
これでsource ~/.zshrcすると、イン
ストール、初期設定をやってくれる
Antigenを使ってプラグインをイ
ンストールする
つまり、さっき手でやっていたgit
cloneと、~/.zshrcに追記していた
やつをAntigenが代わりにやってく
れる
Antigenを使ってプラグインをイ
ンストールする
あとは、基本的なAntigenのコマンド
# Antigenで管理しているプラグインを一覧表示する
antigen list
Antigenを使ってプラグインをイ
ンストールする
# Antigenで管理しているプラグインをすべて更新する
antigen update
Antigenを使ってプラグインをイ
ンストールする
# Antigen本体を更新する
antigen selfupdate
Antigenを使ってプラグインをイ
ンストールする
これが基本的な使い方
Antigenを使おう
Antigenとは
Antigenをインストールする
Antigenを使ってプラグインをインス
トールする
ちょっと注意
ちょっと注意
Antigenにはいくつか注意しないと
いけないポイントがある
注意点その1
Antigenでインストールできないプ
ラグインがある
注意点その1
Antigenは万能ではない
基本的には、プラグインの作者が
Antigenに対応した形式で書いて
いるやつだけ使える
注意点その1
対応しているかどうかの見方
注意点その1
リポジトリに「*.plugin.zsh」または
「init.zsh」のどちらかのファイルが
ある
インストールするファイルが、zshの
補完ファイルである
基本的には、この2つのどちらかだ
ったらOK
注意点その1
それ以外は「Antigenで使えること
もある」
使えないこともある
ソースを見ないと、はっきりとは分か
らない
注意点その1
ちゃんとしたプラグインなら
READMEとかに「Antigenでインス
トールするときは…」とか書いてある
ので、それを目安にする
注意点その2
lsにaliasを設定していると、
Antigen本体が正しく動作しないこ
とがある
注意点その2
だめな例
alias ls='ls -F'
けっこうよく使われるalias
注意点その2
対策としては、~/.zshrcの中で順番に
気をつける
if [[ -f ~/.zsh/antigen/antigen.zsh ]]; then
source ~/.zsh/antigen/antigen.zsh
antigen apply
fi
# これなら大丈夫
alias ls='ls -F'
注意点その2
根本的な対策としては、Antigen本
体の方を直す
aliasの設定によって動かなくなるの
は、おかしいでしょう
注意点その2
というわけで、はっきり言って
Antigenの品質は低い
他にもバグがあるかも…
注意点その2
なんかおかしかったら、~/.zshrcか
らAntigen以外の設定を消して試し
てみましょう
それでなおったら、~/.zshrcの中で
書く順番を変えて、なんとかする
Antigenを使おう
というわけで、若干使いにくいところ
はあるけど、zshのプラグイン管理は
現状これしかない
手動で管理するよりは便利
Antigenを使おう
ぜひ使ってみてください
Antigenを使おう
ありがとうございました

More Related Content

Viewers also liked

anyframeを使おう
anyframeを使おうanyframeを使おう
anyframeを使おう
Hideaki Miyake
 
zshと仮想端末マネージャで快適ターミナル生活
zshと仮想端末マネージャで快適ターミナル生活zshと仮想端末マネージャで快適ターミナル生活
zshと仮想端末マネージャで快適ターミナル生活Nobutoshi Ogata
 
DevLOVE ターミナル勉強会 zsh + screen
DevLOVE ターミナル勉強会 zsh + screenDevLOVE ターミナル勉強会 zsh + screen
DevLOVE ターミナル勉強会 zsh + screen
Yozo SATO
 
oh-my-zshを使うのは止めよう
oh-my-zshを使うのは止めようoh-my-zshを使うのは止めよう
oh-my-zshを使うのは止めよう
Hideaki Miyake
 
zshという選択肢
zshという選択肢zshという選択肢
zshという選択肢
manaten
 
シェルにあんまりこだわりのなかった僕がfishを使ってかんじたこと
シェルにあんまりこだわりのなかった僕がfishを使ってかんじたことシェルにあんまりこだわりのなかった僕がfishを使ってかんじたこと
シェルにあんまりこだわりのなかった僕がfishを使ってかんじたこと
toku toku
 
Zshでデキるプロンプト
ZshでデキるプロンプトZshでデキるプロンプト
Zshでデキるプロンプト
Maruyama Tetsutaro
 

Viewers also liked (7)

anyframeを使おう
anyframeを使おうanyframeを使おう
anyframeを使おう
 
zshと仮想端末マネージャで快適ターミナル生活
zshと仮想端末マネージャで快適ターミナル生活zshと仮想端末マネージャで快適ターミナル生活
zshと仮想端末マネージャで快適ターミナル生活
 
DevLOVE ターミナル勉強会 zsh + screen
DevLOVE ターミナル勉強会 zsh + screenDevLOVE ターミナル勉強会 zsh + screen
DevLOVE ターミナル勉強会 zsh + screen
 
oh-my-zshを使うのは止めよう
oh-my-zshを使うのは止めようoh-my-zshを使うのは止めよう
oh-my-zshを使うのは止めよう
 
zshという選択肢
zshという選択肢zshという選択肢
zshという選択肢
 
シェルにあんまりこだわりのなかった僕がfishを使ってかんじたこと
シェルにあんまりこだわりのなかった僕がfishを使ってかんじたことシェルにあんまりこだわりのなかった僕がfishを使ってかんじたこと
シェルにあんまりこだわりのなかった僕がfishを使ってかんじたこと
 
Zshでデキるプロンプト
ZshでデキるプロンプトZshでデキるプロンプト
Zshでデキるプロンプト
 

Recently uploaded

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 

Recently uploaded (16)

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 

Antigenを使おう