Slide 1

Slide 1 text

࠷ڧͷλʔϛφϧɾγΣϧΛ࡞Δ χϑςΟגࣜձࣾձһγεςϜάϧʔϓ ্ݪ௚ر

Slide 2

Slide 2 text

ϓϩϑΟʔϧ ্ݪ௚ر w χϑςΟχϡʔε։ൃɾӡ༻ w 7JNNFS w 3VTU(P͕޷͖ w 3VTUษڧձओ࠵

Slide 3

Slide 3 text

։ൃָ͠ΜͰ·͔͢ʁ

Slide 4

Slide 4 text

։ൃ͢Δͱ͖ʹ ࢖͏΋ͷͱ͍͑͹ʜ

Slide 5

Slide 5 text

Slide 6

Slide 6 text

ࠇ͍ը໘💻

Slide 7

Slide 7 text

λʔϛφϧʗγΣϧ💻

Slide 8

Slide 8 text

ίϯϐϡʔλʔʹΩʔϘʔυͰ ίϚϯυΛೖྗͯ͠ࢦࣔ͢Δ⌨

Slide 9

Slide 9 text

ΩʔϘʔυͰೖྗ͢Δͷ͕େม😓 දࣔ͞ΕΔ৘ใ͕গͳ͍😓

Slide 10

Slide 10 text

λʔϛφϧʗγΣϧΛ ศརʹ͍ͯ͜͠͏🙋

Slide 11

Slide 11 text

Slide 12

Slide 12 text

˞.BDલఏʹ࿩͍͖ͯ͠·͢

Slide 13

Slide 13 text

λʔϛφϧ J5FSNͱ͸ʁ ΧϥʔςʔϚͷ ઃఆ ϑΥϯτͷઃఆ ϗοτΩʔͷ ઃఆ

Slide 14

Slide 14 text

࢖༻͢Δλʔϛφϧ J5FSN w J5FSNΛ࢖͏ w IUUQTJUFSNDPN w ઃఆ߲໨͕ॆ࣮͓ͯ͠ΓɺΧελϚΠζੑ͕ߴ͍ w ݟͨ໨ ΧϥʔςʔϚɺಁաɺഎܠը૾ ͷΧελϚΠζ w ಛఆͷΩʔΛೖྗͨ͠ͱ͖ʹɺJ5FSNΛݺͼग़͠ w ೔ຊޠೖྗͰ͖Δ w λʔϛφϧ͸ւ֎੡͕ଟ͍ͨΊɺೖྗͰ͖ͳ͍͜ͱ΋͠͹͠͹ w 5SVF$PMPSʹରԠ w ରԠ͍ͯ͠Δ΄͏͕ɺ͞·͟·ͳ৭ΛදݱͰ͖Δ w .BDͷσϑΥϧτͷλʔϛφϧBQQ͸ະରԠ J5FSNͱ͸ʁ ΧϥʔςʔϚͷ ઃఆ ϑΥϯτͷઃఆ ϗοτΩʔͷ ઃఆ

Slide 15

Slide 15 text

J5FSNͷઃఆ ΧϥʔςʔϚΛઃఆ͢Δ w ΧϥʔςʔϚͷઃఆΛೖख͢Δ w IUUQTHJUIVCDPNNCBEPMBUPJ5FSN $PMPS4DIFNFTUSFFNBTUFSTDIFNFT w ࣗ෼͸HSVWCPYͱ͍͏ΧϥʔςʔϚ Λ࢖͍ͬͯΔ J5FSNͱ͸ʁ ΧϥʔςʔϚͷ ઃఆ ϑΥϯτͷઃఆ ϗοτΩʔͷ ઃఆ

Slide 16

Slide 16 text

J5FSNͷઃఆ ΧϥʔςʔϚΛઃఆ͢Δ w $PNNBOE*Ͱ1SFGFSFODFTΛ։͘ w $PMPSTˠ$PEF1SFTFUTˠJNQPSUͰϑ ΝΠϧΛऔΓࠐΉ w $PMPS1SFTFUTͷதʹऔΓࠐΜͩΧϥ ʔςʔϚ͕͋ΔͷͰɺબ୒͢Δ J5FSNͱ͸ʁ ΧϥʔςʔϚͷ ઃఆ ϑΥϯτͷઃఆ ϗοτΩʔͷ ઃఆ

Slide 17

Slide 17 text

J5FSNͷઃఆ ϑΥϯτΛઃఆ͢Δ w ϑΥϯτ͸ίʔυϦʔσΟϯάʹ͓͍ͯॏཁ w )BDL(FO/FSEϑΥϯτΛ࠾༻ w ʮനݯʯͱʮ/FSE'POUʯ͕૊Έ߹Θͬͨ͞ϑΥϯτ w നݯ w ೔ຊޠͱΞϧϑΝϕοτ͕ಡΈ΍͍͢ w ϓϩάϥϛϯά޲͚ӳจϑΥϯτ)BDL w ೔ຊޠϑΥϯτݯॊΰγοΫ w -΍*ɺશ֯εϖʔεͱ͍ͬͨݟ෼͚͕͖ͭʹ͍͘จࣈΛ൑ผ͠΍͍͢ w /FSE'POU w ΞΠίϯΛදࣔ͢ΔͨΊͷϑΥϯτ J5FSNͱ͸ʁ ΧϥʔςʔϚͷ ઃఆ ϑΥϯτͷઃఆ ϗοτΩʔͷ ઃఆ

Slide 18

Slide 18 text

J5FSNͷઃఆ ϑΥϯτΛઃఆ͢Δ w )BDL(FO/FSE͸ҎԼͷϨϙδτϦͰೖखͰ͖Δ w IUUQTHJUIVCDPNZVSV)BDL(FO w )PNFCSFXͰ΋ΠϯετʔϧՄೳ w ৄ͍͠ίϚϯυ͸3&"%.&NEʹ w ΠϯετʔϧޙɺJ5FSNͰϑΥϯτΛઃఆ w 1SFGFSFODFTͷ5FYU͔Β'POUΛมߋͰ͖Δ J5FSNͱ͸ʁ ΧϥʔςʔϚͷ ઃఆ ϑΥϯτͷઃఆ ϗοτΩʔͷ ઃఆ

Slide 19

Slide 19 text

J5FSNͷઃఆ ϗοτΩʔΛઃఆ͢Δ w ಛఆͷΩʔΛೖྗ͢ΔͱJ5FSNΛදࣔͨ͠ΓɺӅͨ͠Γ͢Δ͜ͱ͕Ͱ͖Δ J5FSNͱ͸ʁ ΧϥʔςʔϚͷ ઃఆ ϑΥϯτͷઃఆ ϗοτΩʔͷ ઃఆ

Slide 20

Slide 20 text

J5FSNͷઃఆ ϗοτΩʔΛઃఆ͢Δ w 1SFGFSFODFTͰͲͷΩʔΛτϦΨʔʹ͢Δ͔ઃఆͰ͖Δ J5FSNͱ͸ʁ ΧϥʔςʔϚͷ ઃఆ ϑΥϯτͷઃఆ ϗοτΩʔͷ ઃఆ

Slide 21

Slide 21 text

γΣϧ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 22

Slide 22 text

γΣϧ [TIΛ࢖ͬͯίϯϐϡʔλʹ໋ྩΛ఻͍͑ͯ͘ w γΣϧͱ͸ɺ04ຊମ Χʔωϧ ʹ໋ྩΛ఻͑ΔϓϩάϥϜͷ͜ͱ w Ϣʔβʔ͔Βͷ໋ྩΛڮ౉໋ͯ͠͠ྩΛ఻͑ͯ͘ΕΔ w γεςϜͱϢʔβʔͷؒʹೖΔ֪γΣϧ w γΣϧʹ͸͍͔ͭ͘छྨ͕͋Δ w CBTI w Ұ൪޿͘࢖ΘΕ͍ͯΔγΣϧ w [TI w ΧελϚΠζੑʹ༏ΕͨγΣϧ w ͜ͷதͰ΋[TIΛ࢖͏ w NBD04$BUBMJOBҎ߱Ͱ͸σϑΥϧτͰ[TI͕࢖ΘΕΔΑ͏ʹͳ͍ͬͯΔ w ϗʔϜσΟϨΫτϦʹ͋Δ[TISDϑΝΠϧΛฤूͯ͠ΧελϚΠζ͍ͯ͘͠ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 23

Slide 23 text

[TIΛ࢖͑ΔΑ͏ʹ͢Δ ࢖༻͍ͯ͠ΔγΣϧͷ֬ೝɾ[TIΠϯετʔϧɾ੾Γସ͑ # 今使っているシェルは何か # zshが表示されれば、以下はやらなくてOK echo $SHELL # zshがインストールされているか cat /etc/shells # インストールされてなければ、Homebrewでインストール brew install zsh # インストールされていればzshに切り替え # zshのパスに書き換えて実行する chsh -s /usr/bin/zsh # ターミナルの再起動 γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 24

Slide 24 text

[TIͷઃఆ ϝχϡʔิ׬ w ީิ͕දࣔ͞ΕɺΩʔͰΠϯλϥΫςΟϒʹબ୒Ͱ͖ศར γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 25

Slide 25 text

[TIͷઃఆ ϝχϡʔิ׬ w ҎԼΛd[TISDʹهड़ zstyle ':completion:*:default' menu select=1 autoload -Uz compinit compinit -C γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 26

Slide 26 text

[TIͷઃఆ 7JNͷΩʔόΠϯυʹม͑Δ w [TIͰ͸σϑΥϧτͰ͸FNBDTͷΩʔόΠϯυʹͳ͍ͬͯΔ w ྫ $USM"Ͱߦ಄ɺ$USM&Ͱߦ຤ʹҠಈͰ͖Δ w FNBDT͔Β7JNͷΩʔόΠϯυʹมߋ͢Δ͜ͱ΋Մೳ w d[TISDʹҎԼΛ௥Ճ -v • bindkey -v γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 27

Slide 27 text

[TIʹϓϥάΠϯಋೖ ϓϥάΠϯϚωʔδϟ[JOJUͷ঺հ w ;TIͷػೳΛ֦ு͢ΔͨΊͷϓϥάΠϯΛಋೖ͢Δ w ݟͨ໨ม͑ͨΓɺิ׬ͳͲͷศརͳػೳΛೖΕΔ͜ͱ͕Ͱ͖Δ w ָʹϓϥάΠϯΛೖΕΔͨΊϓϥάΠϯϚωʔδϟ[JOJUΛೖΕΔ w ଞͷϓϥάΠϯϚωʔδϟ PINZ[TIɺQSF[UPͳͲ ͱൺֱͯ͠ߴ଎ w ϓϥάΠϯΛͨ͘͞ΜೖΕΔͱىಈʹ͕͔͔࣌ؒΓ͕ͪ w ;JOJUͩͱىಈ଎౓͕ѱԽ͠ʹ͍͘ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 28

Slide 28 text

[TIʹϓϥάΠϯಋೖ ϓϥάΠϯϚωʔδϟ[JOJUͷΠϯετʔϧɾϓϥάΠϯͷ௥Ճํ๏ w ҎԼͷίϚϯυΛ࢖ͬͯΠϯετʔϧ͢Δ w d[TISDʹ௥Ճ͍ͨ͠ϓϥάΠϯΛهड़ w [JOJUJDFͰ௚ޙͷ[JOJUMJHIU΍[JOJUMPBEͷڍಈΛมߋͰ͖Δ bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)" zinit light プラグイン名 # レポートを無効にする zinit load プラグイン名 # レポートを有効にする zinit ice wait lucid # 遅延ロード&ロードした時コンソール出力しない zinit ice depth=1 # git clone時のdepthを指定 γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 29

Slide 29 text

;TIʹϓϥάΠϯಋೖ [JOJUΛ࢖ͬͯࣗ෼͕௥Ճͨ͠ϓϥάΠϯ w ࣗ෼͕௥Ճ͍ͯ͠ΔϓϥάΠϯ w SPNLBUWQPXFSMFWFML w [TIVTFST[TIBVUPTVHHFTUJPOT w [EIBSNBDPOUJOVVNGBTUTZOUBYIJHIMJHIUJOH w [TIVTFST[TIDPNQMFUJPOT w d[TISDʹҎԼͷΑ͏ʹهड़ w [JOJUJDFΛ࢖ͬͯ஗ԆಡࠐΈͤ͞Δ͜ͱͰ[TIͷىಈΛ଎͍ͯ͘͠Δ zinit ice depth=1; zinit light romkatv/powerlevel10k zinit ice wait lucid; zinit light zsh-users/zsh-autosuggestions zinit ice wait lucid; zinit light zdharma-continuum/fast-syntax-highlighting zinit ice wait lucid; zinit light zsh-users/zsh-completions γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 30

Slide 30 text

;TIʹϓϥάΠϯಋೖ ࣗ෼͕௥Ճͨ͠ϓϥάΠϯ QPXFSMFWFML w ϓϩϯϓτΛ͍͍ײ͡ʹͯ͘͠ΕΔ [TIBVUPTVHHFTUJPOT w ೖྗதʹީิΛදࣔ͠ɺิ׬ͯ͘͠ΕΔ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 31

Slide 31 text

;TIʹϓϥάΠϯಋೖ ࣗ෼͕௥Ճͨ͠ϓϥάΠϯ GBTUTZOUBYIJHIMJHIUJOH w ೖྗͨ͠ίϚϯυʹ৭Λ͚ͭͯݟ΍͘͢ ͯ͘͠ΕΔ [TIDPNQMFUJPOT w ิ׬༻ͷ৘ใΛ௥Ճ͠ɺίϚϯυ΍αϒίϚ ϯυΛ5BCΩʔͰิ׬͠΍͘͢͢Δ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 32

Slide 32 text

ศརͳίϚϯυΛೖΕΔ 3VTU੡ͷศརͳίϚϯυ w Πϯετʔϧ͢Δͱ࢖͑ΔɺศརͳίϚϯυΛҰ෦঺հ w FYB w ϑΝΠϧҰཡΛ͍͍ײ͡ʹग़ྗͯ͘͠ΕΔ ϞμϯͳMT w CBU w ϑΝΠϧΛγϯλοΫεϋΠϥΠτͯ͠දࣔ ϞμϯͳDBU w OBWJ w ίϚϯυͷνʔτγʔτͷදࣔɾ࡞੒͕Ͱ͖Δ w HSFY w ೖྗ͞Εͨจࣈ͕ώοτ͢ΔΑ͏ͳਖ਼نදݱΛग़ྗͯ͘͠ΕΔ w ঺հͨ͠ίϚϯυ͸)PNFCSFXͰΠϯετʔϧͰ͖·͢ w CSFXJOTUBMM ίϚϯυ໊ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 33

Slide 33 text

ศརͳίϚϯυΛೖΕΔ FYBͰϑΝΠϧҰཡΛදࣔ͢Δ w ϑΝΠϧҰཡΛΞΠίϯ΍πϦʔͰΘ͔Γ΍͘͢දࣔͯ͘͠ΕΔ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 34

Slide 34 text

ศརͳίϚϯυΛೖΕΔ CBUͰϑΝΠϧͷத਎Λදࣔ͢Δ w ϑΝΠϧͷத਎ΛΘ͔Γ΍͘͢දࣔͯ͘͠ΕΔ w จ๏ʹΑͬͯ৭෼͚ γϯλοΫεϋΠϥΠτ w ߦ൪߸΍HJUTUBUVTͷ಺༰Λ൓ө γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 35

Slide 35 text

ศརͳίϚϯυΛೖΕΔ OBWJͰνʔτγʔτΛ࢖͏ w νʔτγʔτΛදࣔɾฤूɺίϚϯυͷ࣮ߦ͕Ͱ͖Δ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 36

Slide 36 text

ศརͳίϚϯυΛೖΕΔ HSFYͰਖ਼نදݱΛௐ΂Δ w Ҿ਺Ͱ༩͑ͨจࣈྻશͯʹώοτ͢ΔΑ͏ͳਖ਼نදݱΛॻ͍ͯ͘ΕΔ γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 37

Slide 37 text

ศརͳίϚϯυΛೖΕΔ ଞʹ΋ͨ͘͞Μ͋ΔΑ w ଞʹ΋ͨ͘͞Μ͋ΔͷͰ஌Γ͍ͨํ͸ҎԼͷ63-΁ w IUUQTHJUIVCDPNJCSBIFFNEFWNPEFSOVOJY w IUUQTXPOEFSXBMMIBUFOBCMPHDPNFOUSZSVTUDPNNBOEMJOFUPPMT γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 38

Slide 38 text

[TIͷߴ଎Խ ઃఆϑΝΠϧͷίϯύΠϧ w ઃఆ͕ଟ͘ͳͬͯ͘Δͱɺ[TIͷىಈ͕஗͘ͳͬͯ͠·͏ w ઃఆϑΝΠϧΛίϯύΠϧ͢Δͱ࣮ߦ଎౓্͕͕Δ w εΫϦϓτΛίϯύΠϧͯ͘͠ΕΔͷ͕[DPNQJMF w [TI͸ίϯύΠϧͰͰ͖ͨϑΝΠϧΛಡΈࠐΜͰ͘ΕΔ [XDϑΝΠϧ w [DPNQJMFͷޙʹϑΝΠϧ໊Λࢦఆ͢ΔͱίϯύΠϧͯ͘͠ΕΔ w [DPNQJMFϑΝΠϧ໊Λ࣮ߦ͢Δ w d[TISDʹҎԼΛॻ͍ͯɺࣗಈతʹίϯύΠϧͯ͘͠ΕΔΑ͏ʹ͢Δͱָ if [ ~/.zshrc -nt ~/.zshrc.zwc ]; then zcompile ~/.zshrc fi γΣϧͱ͸ʁ [TIͷಋೖ [TIͷઃఆ ϓϥάΠϯͷ ಋೖ ίϚϯυͷ ಋೖ ߴ଎Խ

Slide 39

Slide 39 text

͜Μͳײ͡ʹͳ͍ͬͯΔ͸ͣ

Slide 40

Slide 40 text

ଞͷ1$Ͱ΋ ಉ͡ઃఆΛ࢖͍͍ͨ🥹

Slide 41

Slide 41 text

ઃఆϑΝΠϧΛ͍࣋ͬͯ͘ͷ͸ ΊΜͲ͍😵💫

Slide 42

Slide 42 text

ઃఆΛͲ͜Ͱ΋खܰʹ ࣋ͪӡ΂ΔΑ͏ʹ͠Α͏💼

Slide 43

Slide 43 text

(JU)VCʹઃఆϑΝΠϧΛஔ͘ EPU fi MFTͱ͸ʁ J5FSNͷ ઃఆϑΝΠϧ

Slide 44

Slide 44 text

ઃఆϑΝΠϧΛ(JU)VCʹஔ͜͏ EPU fi MFTΛ࡞Ζ͏ w ઃఆϑΝΠϧΛ(JU)VCͷϨϙδτϦʹஔ͍͓ͯ͘ͱɺෳ਺ͷ1$ͰઃఆΛڞ༗ Ͱ͖Δ w ͦͷͨΊͷϨϙδτϦͷ໊લΛEPU fi MFTͱݺͿ w ઃఆϑΝΠϧͷ໊લͷଟ͕͔͘Β͸͡·Δ͜ͱ͕༝དྷ w ࣗ෼ͷEPU fi MFT w IUUQTHJUIVCDPN1FOQFOEPU fi MFT w ݩͷઃఆϑΝΠϧͷ৔ॴʹγϯϘϦοΫϦϯΫΛஔ͍ͯɺຊମ͸EPU fi MFTͷத ਎Λࢀর͢ΔΑ͏ʹ͍ͯ͠Δ w ྫ 6TFSTVFIBSB[TISDˠ6TFSTVFIBSBEPU fi MFTDPO fi H[TI[TISD EPU fi MFTͱ͸ʁ J5FSNͷ ઃఆϑΝΠϧ

Slide 45

Slide 45 text

ઃఆϑΝΠϧΛ(JU)VCʹஔ͜͏ J5FSNͷઃఆ΋؅ཧͰ͖Δ w J5FSNͷઃఆ͸1SFGFSFODFTͷதͰอଘઌΛઃఆͰ͖Δ w ࣗ෼ͷEPU fi MFTσΟϨΫτϦͷதʹอଘ͢ΔΑ͏ʹઃఆ͓ͯ͘͠ EPU fi MFTͱ͸ʁ J5FSNͷ ઃఆϑΝΠϧ

Slide 46

Slide 46 text

·ͱΊ λʔϛφϧɾγΣϧΛศརʹ͍ͯ͘͠ w λʔϛφϧ΍γΣϧΛศརʹ w λʔϛφϧ͸J5FSNΛ࠾༻ͨ͠ w ΧϥʔςʔϚɺϑΥϯτɺϗοτΩʔͷઃఆΛߦͳͬͨ w γΣϧ͸[TIΛ࠾༻ͨ͠ w ϓϩϯϓτɺิ׬ɺΩʔόΠϯυͷઃఆΛߦ͍ɺศརͳίϚϯυ΋ಋೖͨ͠ w ઃఆΛଞͷ1$ͱಉظ͢Δ w (JU)VCʹઃఆϑΝΠϧΛஔ͘͜ͱʹΑΓɺͲͷ1$Ͱ΋ಉ͡ઃఆ͕࢖͑Δ w λʔϛφϧ΍γΣϧͷઃఆʹͩ͜Θͬͯɺศརͳ։ൃϥΠϑΛૹ͍͖ͬͯ·͠ ΐ͏