Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
インタラクティブシェルのカスタマイズを楽しもう
Search
kumico
October 20, 2025
0
190
インタラクティブシェルのカスタマイズを楽しもう
勉強会「神楽坂第1ターミナル」で発表しました。
kumico
October 20, 2025
Tweet
Share
More Decks by kumico
See All by kumico
こんにちは DID
devoc
0
4
OpenID Connect から学ぶ認証・認可
devoc
0
26
Grafana Cloudとソラカメ
devoc
0
330
モダンターミナルエミュレータは画像を表示できるらしい
devoc
1
31
アプリケーションパフォーマンスの計測と改善の方法を勉強している話
devoc
11
3.4k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
56
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Agile that works and the tools we love
rasmusluckow
331
21k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
77
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The browser strikes back
jonoalderson
0
390
Faster Mobile Websites
deanohume
310
31k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
740
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
Code Reviewing Like a Champion
maltzj
527
40k
Paper Plane
katiecoart
PRO
0
46k
Transcript
5BLVNJ,BUBTF ΠϯλϥΫςΟϒγΣϧͷΧε λϚΠζΛָ͠͏
ࣗݾհ w 5BLVNJ,BUBTF w fi TIOFPWJN(P w ❤🍜🎮 w ࠷ۙϋϚ͍ͬͯΔήʔϜ)PMMPX
,OJHIU4JMLTPOH
։ൃऀ͝ͱʹΠϯλϥΫςΟϒγΣϧ 4IFMM ͷݟͨɾ͍৺༷ʑ
None
ΈΜͳ͕ͪͬͯɺΈΜͳ͍͍
ແݶʹΧελϚΠζͰ͖ΔͷͰɺ Ͳ͔͜ΒखΛ͚ͭΔ͔ΜͰ͍Δਓ͕͍Δ͔
ແݶʹΧελϚΠζͰ͖ΔͷͰɺ Ͳ͔͜ΒखΛ͚ͭΔ͔ΜͰ͍Δਓ͕͍Δ͔ ͦͷΑ͏ͳํͷҰॿʹͳΕ͍Ͱ͢🙇
ͳ͢͜ͱ w 4IFMMΛઃఆ͢Δ্Ͱҙ͍ࣝͯ͠Δ͜ͱɾΈ w ͜Ε·Ͱ͖ͬͯͨ4IFMM w ݱࡏͷઃఆ
ͳ͢͜ͱ w 4IFMMΛઃఆ͢Δ্Ͱҙ͍ࣝͯ͠Δ͜ͱɾΈ w ͜Ε·Ͱ͖ͬͯͨ4IFMM w ݱࡏͷઃఆ
4IFMMΛઃఆ͢Δ্Ͱҙ͍ࣝͯ͠Δ͜ͱɾΈ w ΧϨϯτσΟϨΫτϒϥϯν໊ͱίϚϯυೖྗߦ͕͔Ε͍ͯΔߦϓϩϯ ϓτ w ϓϩϯϓτؒʹվߦ w ࠷ݶͷใ͚ͩදࣔ w Ϣʔβʔ໊ϗετ໊
w ΧϨϯτσΟϨΫτϦ w ϒϥϯν໊ w ऴྃεςʔλε w γϯλοΫεϋΠϥΠτ ύε͕௨͍ͬͯΔίϚϯυ͔Ͳ͏͔ҰͰΘ͔Δ w ͍͍ײ͡ͷิ
TJOESFTPSIVTQVSF͕Έ w ߦϓϩϯϓτ w ࠷ݶͷදࣔ w ࣗͷઃఆQVSFͷݟͨ༻ ײΛ͔ͳΓࢀߟʹͯ͠Δ IUUQTHJUIVCDPNTJOESFTPSIVTQVSF
͍͍ײ͡ͷิ w ώετϦʔ͔Βิ w ೖྗதͷίϚϯυͰώετϦʔʹ Ϛον͢Δͷ͕͋Εิ͢Δ w ΊͬͪΌ͏ w αϒίϚϯυͷิ
IUUQTHJUIVCDPN[TIVTFST[TIBVUPTVHHFTUJPOT
ͳ͢͜ͱ w 4IFMMΛઃఆ͢Δ্Ͱҙ͍ࣝͯ͠Δ͜ͱɾΈ w ͜Ε·Ͱ͖ͬͯͨ4IFMM w ݱࡏͷઃఆ
#BTI w d͍ͬͯͨɻ.BD04ͷσϑΥϧτγΣϧ͕·ͩ;TI͡Όͳ͔ͬ ͨࠒɻ w ΧελϚΠζͤͣʹσϑΥϧτͷ·· w -JOVYαʔόʔͳͲͰ࡞ۀ͢Δͱ͖ͳͲσϑΥϧτϩάΠϯγΣϧͳͲΧ ελϚΠζ͠ͳ͍ͷͰɺࠓͰΑ͘͏
;TI w dͰ͍ͬͯͨɻ.BD04ͷσϑΥϧτγΣϧʹͳ͔ͬͯΒΧ ελϚΠζͯ͠͏Α͏ʹͳͬͨ w ਖ਼#BTIͱͷҧ͍͔ͬͯͳ͍ w ϓϥάΠϯϓϥάΠϯϚωʔδϟɺϑϨʔϜϫʔΫͳͲͷΈ͕#BTIΑ Γ͍ͬͯΔҹ w
[QMVH w QSF[UPTUBSTIJQ
ΧελϚΠζপʹϋϚΔ͕ w ࠷ॳQVSFͱBVUPTVHHFTUJPOTͳͲΛΈ߹Θ͍ͤͯͬͯͨɻ w ࣍ʹɺTUBSTIJQΛ͏Α͏ʹͳͬͨɻQVSFͰࠔ͍ͬͯͨΘ͚Ͱͳ͍͕ɺֆจ ࣈ͕ՄѪ͔ͬͨͷͰ͍ͬͯͨ w ऴྃεςʔλεΛදࣔͨ͠Γɺ৭Λௐͨ͠Γɺֆจࣈ͕͖ͨͷͰඇදࣔʹ ͨ͠ΓͱݟͨͷΧελϚΠζΛ࢝ΊΔ w
ϓϥάΠϯϚωʔδϟ͕͏·͘ಈ͔ͳ͔ͬͨΓɺىಈ͕͘ͳͬͨΓɺ৽͍͠ ڥͰ͙͢ʹ͍࢝ΊΔ͜ͱ͕Ͱ͖ͳ͔ͬͨΓͱ֎෦ґଘΛݮΒͨ͘͠ͳΔ w ϓϥάΠϯϑϨʔϜϫʔΫΛΘͣʹɺࣗͰεΫϦϓτΛॻ͍ͯΈͯҊ֎ Ͱ͖ͦ͏ͳ͜ͱʹؾͮ͘
fi TI w ޙdݱࡏ·Ͱ͍ͬͯΔ w εΫϦϓτΛॻ͍ͨͱ͖ͷݟͨɺ#BTI;TIͱ͔ͳΓҧ͏͕ɺΠϯ λϥΫςΟϒγΣϧͱͯ͠͏ʹɺ͋·Γҧײ͕ͳ͍ w Πϯετʔϧޙ͙͢ʹ͑Δ0VUPGUIF#PYͳػೳ
fi TI w ޙdݱࡏ·Ͱ͍ͬͯΔ w εΫϦϓτΛॻ͍ͨͱ͖ͷݟͨɺ#BTI;TIͱ͔ͳΓҧ͏͕ɺΠϯ λϥΫςΟϒγΣϧͱͯ͠͏ʹɺ͋·Γҧײ͕ͳ͍ w Πϯετʔϧޙ͙͢ʹ͑Δ0VUPGUIF#PYͳػೳ
fi TIͷ͖ͳͱ͜Ζ w 0VUPGUIF#PY w σϑΥϧτͰิͳͲͷػೳ͕༗ޮʹͳ͍ͬͯΔͷͰɺࣗͰϓϥάΠϯΛ ཧ͢Δඞཁ͕ͳ͍ɻ w ඇޮͳॲཧΛೖΕͯ͠·͏༨͕গͳ͍ͷͰߴͳىಈ͕อͨΕΔ w
DPO fi H fi TI͕γϯϓϧʹͳΔɻҎԼͷઃఆ͘Β͍ͳΒಠࣗͰॻ͚Δ w ϓϩϯϓτͷݟͨ w ΧελϜΩʔόΠυΤΠϦΞε1"5)पΓ͘Β͍
ͳ͢͜ͱ w 4IFMMΛઃఆ͢Δ্Ͱҙ͍ࣝͯ͠Δ͜ͱɾΈ w ͜Ε·Ͱ͖ͬͯͨ4IFMM w ݱࡏͷઃఆ
ݱࡏͷઃఆ w QVSFϥΠΫͳߦϓϩϯϓτ w ඞཁ࠷খݶͷใ w Ϣʔβʔ໊ϗετ໊ w ΧϨϯτσΟϨΫτϦ w
ϒϥϯν໊ w ऴྃεςʔλε w ͍͍ײ͡ͷิ
ϓϩϯϓτ ৭ w ৭ͷௐ w λʔϛφϧଆͰઃఆ͞Ε͍ͯΔΧϥ ʔύϨοτͷઃఆͱטΈ߹Θͳ͍ ߹ʹઃఆ͢Δ w ͨ͘͞Μͷ৭Λଟ༻ͤͣʹɺͰ͖
Δ͚ͩγϯϓϧʹ·ͱΊΔɻ
ϓϩϯϓτ ද߲ࣔ w ؔfish_prompt w ࠨଆͷϓϩϯϓτͷઃఆ w Ϣʔβʔ໊ϗετ໊ɺΧ ϨϯͱσΟϨΫτϦͳͲΛ දࣔ
w ؔfish_right_prompt w ̌Ҏ֎ͷͱ͖ʹ৭͖Ͱද ࣔ
͍͍ײ͡ͷิ w fi TIͰσϑΥϧτͰ༗ޮʹͳ͍ͬͯΔิ͕͍͍ײ͡ w ώετϦʔ͔ΒೖྗதͷίϚϯυʹԠͯ͡ิΛग़ͯ͘͠ΕΔɻ$USM GͰ TVCNJUͰ͖Δ w ಉ͡ೖྗͰΧϨϯτσΟϨΫτϦʹԠͯ͡ิΛ͢Δ༰͕ΓସΘΔ
ͦͷଞ w HIRG[GΛݺͼग़͢Α͏ͳΧε λϜΩʔόΠϯυ w ΤΠϦΞε w 1"5)
ࠓͷઃఆͰؾʹೖ͍ͬͯΔͱ͜Ζ w QVSFͦͬ͘Γͳγϯϓϧͳݟͨ w ߦఔͷγϯϓϧͳઃఆ͕ͩɺࣗʹඞཁͳػೳʹ͙͢ʹΞΫηεͰ͖Δͱ ͜Ζ w ઃఆϑΝΠϧʹ֎෦ґଘ͕ͳ͍ͷͰɺ fi TIͷΠϯετʔϧ͑͞Ͱ͖Εɺ͙͢ʹ
ಉ͡ڥΛ࠶ݱͰ͖Δ
ଞͷਓͱ͍ͨ͜͠ͱ w OVTIFMM͕ؾʹͳ͍ͬͯΔͷͰɺ͍ͬͯΔਓ͕͍Ε͓͍ͨ͠͠ʂ w "QQMFͷ5FSNJOBMBQQ͕5SVFDPMPSʹରԠͨ͠ͷͰ͍͍͕ͨɺઃఆͷཧ͕ ਏ͍ͷͰɺͦͷลΓ͍͍ײ͡ʹ͍ͯ͠Δਓ͍ͨΒڭ͑ͯཉ͍͠ w /FPWJN͕͖Ͱ͢