Slide 1

Slide 1 text

λΠτϧςΩετ f 7JN$POG

Slide 2

Slide 2 text

@Linda_pp @rhysd id:rhysd

Slide 3

Slide 3 text

Vim ͷ f Ϛοϐϯά͓͞Β͍

Slide 4

Slide 4 text

Vim ͷ f{char} Ϛοϐϯά No, Vim is a text editor. GU N t t t Χʔιϧ

Slide 5

Slide 5 text

Vim ͷ f{char} Ϛοϐϯά • [count]f{char} • ݱࡏͷΧʔιϧҐஔ͔Β [count] ൪໨ʹݱΕΔ จࣈ {char} ʹΧʔιϧΛδϟϯϓ͢Δ • ; ͰҎલͷݕࡧΛલํʹ܁Γฦ͠ɼ, Ͱޙํʹ܁ Γฦ͢ • ٯํ޲ʹݕࡧ͍ͨ͠ͱ͖͸ [count]F{char}

Slide 6

Slide 6 text

Vim ͷ t{char} Ϛοϐϯά No, Vim is a text editor. UU N x i e

Slide 7

Slide 7 text

Vim ͷ t{char} Ϛοϐϯά • [count]t{char} • ݱࡏͷΧʔιϧҐஔ͔Β [count] ൪໨ʹݱΕΔ จࣈ {char} ͷ௚લʹΧʔιϧΛδϟϯϓ͢Δ • ; ͰҎલͷݕࡧΛલํʹ܁Γฦ͠ɼ, Ͱޙํʹ܁ Γฦ͢ • ٯํ޲ʹݕࡧ͍ͨ͠ͱ͖͸ [count]T{char}

Slide 8

Slide 8 text

bar omap ΋ศར • _ ·Ͱফ͍ͨ͠ → df_ ! • {aaa: 1+2} Ͱ value ͚ͩফ͍ͨ͠ → dt} ! • dd ΍ yy ͷΑ͏ʹɼyf_ɼyt: ͳͲ΋Մೳ foo_bar f b EG@ {aaa: } {aaa: 1+2} } EU^ 1

Slide 9

Slide 9 text

f Ϛοϐϯά֦ுϓϥάΠϯ

Slide 10

Slide 10 text

vim-shot-f f ೖྗ࣌఺ͰҰൃͰඈ΂Δจࣈ͕ϋΠϥΠτ ͞ΕΔ IUUQTHJUIVCDPNEFSJTWJNTIPUG No, Vim is a text editor. No, Vim s a G tex d r. No, Vim is a text editor. N d GE ϋΠϥΠτ

Slide 11

Slide 11 text

vim-shot-f • جຊతͳಈ࡞͸σϑΥϧτͷ f ͱมΘΒͳ͍ Α͏ʹઃܭ͞Ε͍ͯΔ • 1ճͷδϟϯϓͰඈ΂Δൣғ͕෼͔ΔͷͰɼ܁ Γฦ͢ඞཁ͕͋Δ͔Ͳ͏͔͕ઌʹΘ͔Δ IUUQTHJUIVCDPNEFSJTWJNTIPUG

Slide 12

Slide 12 text

improvedft f{char}… ͰݱࡏߦͷҐஔΛߜΓࠐΜͰ͍͘ IUUQTHJUIVCDPNDISJTCSBJNQSPWFEGU No, Vim is a text editor. N GU t No, Vim is a text editor. N o GUP t t

Slide 13

Slide 13 text

improvedft • f ͷޙʹ {char} ΛೖΕͯݱࡏߦͷதͷҐஔΛߜΓࠐΜ Ͱ͍͘ • ީิ͕1Օॴʹͳͬͨ࣌఺Ͱδϟϯϓɼ΋͘͠͸ ೖྗͰ࠷ॳͷީิ΁δϟϯϓ • ඈͼ͍ͨ৔ॴͷςΩετΛೖྗ͍ͯ͘͠ײ͡ • e.g.ɹfoo bar baz Ͱ baz ͷҐஔʹඈͼ͍ͨͳΒ baz ͱೖྗ͢Ε͹ྑ͍ IUUQTHJUIVCDPNDISJTCSBJNQSPWFEGU

Slide 14

Slide 14 text

clever-f.vim f{char} ͷޙɼf Ͱલํʹ܁Γฦ͠ҠಈͰ͖Δ ʢF Ͱޙํʣ IUUQTHJUIVCDPNSIZTEDMFWFSGWJN No, Vim is a text editor. p G G ' ' N i i i

Slide 15

Slide 15 text

clever-f.vim • f{char} Ͱݕࡧͨ͠ͱ͖ͷ੎͍Ͱͦͷ·· ff.. ͱδϟϯ ϓ͍͚ͯ͠Δ • ܁Γฦ͠Ҡಈ͸λʔήοτͷจࣈͷ্ʹ͍ΔؒͷΈ༗ ޮ • ; ͱ , ͕ෆཁʢf ΍ t ͚ͩͰ܁Γฦ͠ݕࡧͰ͖Δ • ϋΠϥΠτɼߦΛލ͛Δɼsmart-caseɼmigemoɼetc IUUQTHJUIVCDPNSIZTEDMFWFSGWJN

Slide 16

Slide 16 text

growshi-ft.vim f{char} ͷޙɼl ͱ h ͰλʔήοτͷจࣈؒΛ ҠಈͰ͖Δ IUUQTHJUIVCDPNTBJIPPPPPPPPHMPXTIJGUWJN No, Vim is a text editor. GU M M I I N t t t

Slide 17

Slide 17 text

growshi-ft.vim • f{char} ͰλʔήοτΛܾΊͨΒޙ͸ l ͱ h Ͱ ௚ײతʹࠨӈʹҠಈ • l ͱ h ʹΑΔҠಈ͸λʔήοτͷจࣈͷ্ʹ͍ Δ͚ؒͩ༗ޮ • ܁Γฦ͠ʹ ; ͱ , ͕ཁΒͳ͍ IUUQTHJUIVCDPNTBJIPPPPPPPPHMPXTIJGUWJN

Slide 18

Slide 18 text

vim-sneak s{char}{char} ͷ2จࣈͰδϟϯϓ͢Δ IUUQTHJUIVCDPNHPMEGFMEWJNTFFL foo, bar, baz, qux TCB f b b

Slide 19

Slide 19 text

vim-sneak • s{char}{char} ͷ2จࣈͰδϟϯϓ͢ΔͷͰɼೖ ྗจࣈ͸ଟ͍͕ΑΓਫ਼౓͕ߴ͍ • clever-f.vim ͷΑ͏ʹॳճݕࡧޙ s ͱ S Ͱݕࡧ ީิؒΛҠಈͰ͖Δઃఆ΋͋Δ • ଞʹ΋1จࣈͰδϟϯϓͰ͖Δػೳ΍ vim- easymotion ͬΆ͍ػೳͳͲ৭ʑ͋Δ IUUQTHJUIVCDPNHPMEGFMEWJNTFFL

Slide 20

Slide 20 text

vim-easymotion (easymotion-s2) Most of the manuals assume that Vim has been properly installed. If you didn't do that yet, or if Vim doesn't run properly first read the chapter on. IUUQTHJUIVCDPN-PLBMUPHWJNFBTZNPUJPO ߦ͖͍ͨՕॴͷ2จࣈೖྗͰը໘্ʹϥϕϧ Λදࣔ͠ɼೖྗͨ͠ϥϕϧʹδϟϯϓ͢Δ M

Slide 21

Slide 21 text

vim-easymotion (easymotion-s2) Most of the manuals assume that Vim has been properly installed. If you didn't do that yet, or if Vim doesn't run properly first read the chapter on. ߦ͖͍ͨՕॴͷ2จࣈೖྗͰը໘্ʹϥϕϧ Λදࣔ͠ɼೖྗͨ͠ϥϕϧʹδϟϯϓ͢Δ ೖྗɿTUI B T E H ϥϕϧ M IUUQTHJUIVCDPN-PLBMUPHWJNFBTZNPUJPO

Slide 22

Slide 22 text

vim-easymotion (easymotion-s2) Most of the manuals assume that Vim has been properly installed. If you didn't do that yet, or if Vim doesn't run properly first read the chapter on. ߦ͖͍ͨՕॴͷ2จࣈೖྗͰը໘্ʹϥϕϧ Λදࣔ͠ɼೖྗͨ͠ϥϕϧʹδϟϯϓ͢Δ ೖྗɿTUIH t IUUQTHJUIVCDPN-PLBMUPHWJNFBTZNPUJPO

Slide 23

Slide 23 text

vim-easymotion • s{char}{char} Ͱ2จࣈΛؚΉҐஔʹϥϕϧ͕ష ΒΕΔɽͦͷϥϕϧΛೖྗͯ͠δϟϯϓ • δϟϯϓީิ͕1ͭͳΒͦͷ··δϟϯϓ • ϥϕϧΛݟͯೖྗ͢Δखؒ͸͋Δ͕ɼը໘্ ͷ޷͖ͳҐஔʹҠಈͰ͖Δ • େ͖͍ϓϥάΠϯͰɼϥϕϧͷషΓํ͸৭ʑ ͋Δ IUUQTHJUIVCDPN-PLBMUPHWJNFBTZNPUJPO

Slide 24

Slide 24 text

ͦͷଞͷ f ֦ுϓϥάΠϯ • vim-smalls • wiseman-f • vim-fanfingtastic • extended-ft • vim-seek

Slide 25

Slide 25 text

ࣗ෼ͷ࢖͍ํ جຊతʹ͸ clever-f.vim Ͱɼۭ͍ͨΩʔ , Λ ʹɼ; Λ (easymotion-s2) ʹ࢖͍ͬͯΔ

Slide 26

Slide 26 text

WJNTIPUG JNQSPWFEGU DMFWFSG WJNTOFBL HSPXTIJGU FBTZNPUJPO XJTFNBOG FYUFOEFEGU WJNTNBMMT WJNTFFL IUUQUXJUUFSDPN-JOEB@QQTUBUVT

Slide 27

Slide 27 text

·ͱΊ • Vim ͷ f Ϛοϐϯάͱͦͷ֦ுϓϥάΠϯʹ ͍ͭͯ঺հͨ͠ • ීஈ l ΍ w Λ࿈ଧͯ͠Ҡಈ͍ͯ͠Δਓ΋ɼੋ ඇҰ౓ࢼͯ͠Έͯ΄͍͠ • ΧʔιϧͷԣҠಈ͸සൃ͢ΔͷͰɼ͜Ε͔Β ΋վળ͍͖͍ͯͨ͠