Slide 1

Slide 1 text

Making a Vim Plugin is not afraid Gorilla Vim #11 Dec 17, 2019 @ po3rin

Slide 2

Slide 2 text

pon ( @po3rin ) Software Engineer ( Go / Python / Rust ) in Tokyo. Interested in NLP & Image Processing . Graduated Nagoya Univ (Physics).

Slide 3

Slide 3 text

Introduction \

Slide 4

Slide 4 text

Έͳ͞ΜΞυϕϯτΧϨϯμʔࢀՃ͠·͔͢ʁ

Slide 5

Slide 5 text

3&"%.&NEॻ͖·͔͢ʁ

Slide 6

Slide 6 text

๻ͨͪͷੜ׆͔Β੾ͬͯ΋੾Γ཭ͤͳ͍.BSLEPXOɻɻ

Slide 7

Slide 7 text

(Pʹ͸HPGNUͱ͍͏ίʔυΛϑΥʔϚοτͯ͘͠ΕΔศ རͳػೳ͕ඪ४ͰඋΘ͍ͬͯ·͢ɻ

Slide 8

Slide 8 text

͔͠͠.BSLEPXO͸զΒ͕૬๮ͷHPGNU͕ޮ͔ͳ͍ʂʂ Թ͔Έͷ͋ΔखಈHPGNU

Slide 9

Slide 9 text

ͦ͜Ͱ.BSLEPXO಺ͷ(PͷίʔυΛݕ஌ͯ͠ HPGNUΛ͔͚ΔπʔϧHPGNUNEΛ࡞ͬͨ

Slide 10

Slide 10 text

͜ΕͰϒϩάલͷԼॻ͖΍ɺ3&"%.&NEͷखಈHPGNU ΛຣফͰ͖Δʂʂ

Slide 11

Slide 11 text

HPGNUNE͸$-*πʔϧ͚ͩͲɺ7JN1MVHJO൛΋ ࡞ͬͯอଘ࣌ʹ࣮ߦͰ͖ΔΑ͏ʹ͍ͨ͠ʂͱࢥ ͍ɺ7JNTDSJQU஌ࣝθϩ͔Β೔Ͱ7JN1MVHJO Λ࡞ͬͨɻ

Slide 12

Slide 12 text

Gofmt \

Slide 13

Slide 13 text

.BSLEPXOΛύʔε .BSLEPXOͷϊʔυΛτϥόʔε (PͷίʔυΛݕ஌ HPGNUΛ͔͚Δؔ਺ΛDBMM .BSLEPXO಺ͷίʔυΛॻ͖׵͑ \

Slide 14

Slide 14 text

΋͠(PʹΑΔ࣮૷Λ஌Γ ͍ͨํ͸ͪ͜ΒͷهࣄΛ ಡΜͰ͍ͩ͘͞ IUUQTRJJUBDPNQPSJOJUFNTCBGEBB

Slide 15

Slide 15 text

7JN1MVHJO͔ΒHPGNUNEίϚϯυΛ࣮ߦ͍ͯ͠Δ

Slide 16

Slide 16 text

Gofmt \

Slide 17

Slide 17 text

ͱΓ͋͑ͣ7JN1MVHJO ͷϋϩʔϫʔϧυΛ͢Δ ͜ͱ͕ॏཁʂ࠷ॳʹ஌Δ ΂͖7JN1MVHJOͷ࡞๏͔ ΒσΟϨΫτϦߏ੒·Ͱ આ໌͕͋Δ https://qiita.com/bonjin6770@github/items/31e60707ecf2ad6c4496

Slide 18

Slide 18 text

࣮͸)FMMP8PSMEͨ͠ޙԿ࡞Δͷ໰୊

Slide 19

Slide 19 text

Ὂطଘ$-*Λ7JN1MVHJOԽ͕ॳ৺ऀʹΦεεϝ ɾ೉͍͠ࣄͤͣʹ7JN͔Β$-*ΛDBMM͢Δ͚ͩ ɾͦͷׂʹࠓޙͷ7JN1MVHJO։ൃͰجૅʹͳΔ͜ͱֶ͕΂Δ

Slide 20

Slide 20 text

Addbance \

Slide 21

Slide 21 text

Ὂ͍͔ͭ͘τϐοΫΛ঺հ͠·͢ ɾ7JN4DSJQUҙ֎ʹ΋ͳΜͰ΋Ͱ͖Δ ɾΦϓγϣϯͷ੾Γग़͠ ɾ/FP7JNରԠ ɾ$*ςετ

Slide 22

Slide 22 text

ࣗ෼͕ࢥ͍ͬͯͨҎ্ʹ7JN4DSJQU͕ଟ࠼ͳؔ਺Λఏڙ͍ͯͨ͠ɻ ྫ͑͹.BSLEPXO͔Ͳ͏͔ɺࠓ͔Β࣮ߦ͢ΔίϚϯυ͕࣮ߦͰ͖Δ͔Ͳ͏͔ ΛνΣοΫ͍ͯ͠Δɻ

Slide 23

Slide 23 text

"TTFSUJPOܥͷؔ਺·Ͱ৭ʑ͋ΔɻͷͰςετ΋αΫοͱ͔͚Δɻ Լه͸ϑΝΠϧͷத਎͕Ұக͢Δ͔ͷςετ

Slide 24

Slide 24 text

อଘ࣌ͷࣗಈ࣮ߦ͸ڧྗͳͷͰΦϓγϣϯͱͯ͠੾Γग़͢ɻ ͪ͜Βͷํ͕7JN1MVHJOͬΆ͘ͳΔ

Slide 25

Slide 25 text

7JNͰ࢖͑Δؔ਺Ͱ΋ /FP7JNʹ͸ͳ͔ͬͨΓ͢ ΔɻͦͷͨΊӈͷΑ͏ʹର Ԡͨ͠ɻ/FP7JNޓ׵ͷ͋Δ ؔ਺ϥΠϒϥϦ΋͋ΔΈͨ ͍͚ͩͲɺ਺Χॴ͚ͩͩͬ ͨͷͰͪ͜ΒͰରԠͨ͠ɻ

Slide 26

Slide 26 text

7JN΋/FP7JN΋ςετΛ૸Β ͍ͤͨͷͰɺ͜Μͳײ͡ͰKPC Λ̎ͭఆٛ͢Δͱྑ͍ ΋͸΍ ϩʔΧϧͷςετ΋DJSDMFDJί ϚϯυͰճ͠Δ ɻ

Slide 27

Slide 27 text

Conclusion \

Slide 28

Slide 28 text

7JN4DSJQUͷ஌ࣝθϩͷॳ৺ऀͰ΋7*N1MVHJO͕࡞ΕͨɻͳΜͳΒ 7JN4DSJQU͸7JN1MVHJOΛ࡞Γͳ͕ΒֶͿͰ΋ྑ͍͔΋ 7JN1MVHJOΛ࡞ͬͨΒΑ͘Θ͔ΒͣίϐϖͰ࡞͍ͬͯͨWJNSDͷҙຯ ͕ཧղͰ͖ΔΑ͏ʹͳͬͨʂ ๻Ͱ͢Β೔Ͱग़དྷͨͷͰ(PSJMMB7JNʹདྷ͍ͯΔਓ΋͙͢Ͱ͖Δ

Slide 29

Slide 29 text

Making a Vim Plugin is not afraid Gorilla Vim #11 Dec 17, 2019 @ po3rin