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
11
OpenID Connect から学ぶ認証・認可
devoc
0
29
Grafana Cloudとソラカメ
devoc
0
330
モダンターミナルエミュレータは画像を表示できるらしい
devoc
1
37
アプリケーションパフォーマンスの計測と改善の方法を勉強している話
devoc
11
3.4k
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
530
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
160
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
140
Ruling the World: When Life Gets Gamed
codingconduct
0
160
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
How to Ace a Technical Interview
jacobian
281
24k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
90
Fireside Chat
paigeccino
41
3.8k
Exploring anti-patterns in Rails
aemeredith
2
280
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͕͖Ͱ͢