Slide 1

Slide 1 text

λʔϛφϧ ΞϓϦέʔγϣϯ ͱͯ͠ͷ 7JN ΰϦϥWJN !MJHIUUJHFS

Slide 2

Slide 2 text

ΠϯτϩμΫγϣϯ

Slide 3

Slide 3 text

7JNͷྑ͞ͱ͍͑͹ʁ • λʔϛφϧͷதͰىಈ͢Δ • ϞʔυʹΑΔҠಈ/ฤू͕ͱͬͯ΋ศར • VimscriptʹΑΔ֦ுੑͷߴ͞ • ىಈͷ଎͞ • େମͷαʔόϚγϯͰΠϯετʔϧࡁΈ

Slide 4

Slide 4 text

ຊ೔ͷςʔϚ • λʔϛφϧͷதͰىಈ͢Δ • ϞʔυʹΑΔҠಈ/ฤू͕ͱͬͯ΋ศར • VimscriptʹΑΔ֦ுੑͷߴ͞ • ىಈͷ଎͞ • େମͷαʔόϚγϯͰΠϯετʔϧࡁΈ

Slide 5

Slide 5 text

λʔϛφϧ಺Ͱىಈ͢Δྑ͞ ͱ͍͑͹ʁ • αʔόϚγϯ಺ͩͱͦ΋ͦ΋GUIΤσΟλ͕࢖͑ͳ͍ • ଞͷίϚϯυ͔Βͷ࿈ܞ͕εϜʔζʹߦ͑Δ

Slide 6

Slide 6 text

ຊ೔࿩͢಺༰ • αʔόϚγϯ಺ͩͱͦ΋ͦ΋GUIΤσΟλ͕࢖͑ͳ͍ • ଞͷίϚϯυ͔Βͷ࿈ܞ͕εϜʔζʹߦ͑Δ

Slide 7

Slide 7 text

ίϚϯυ͔Β7JNΛίʔϧ ͢Δͱ͍͏͜ͱ

Slide 8

Slide 8 text

7JNΛίʔϧ͢ΔίϚϯυͱ͸ • crontab -e • git commit • etc... ࣮ߦ͢ΔͱΤσΟλ(Vimͱ͔)Λىಈͯ͠ϑΝΠϧΛ։͘-> อଘͯ͠ดͨ͡ͱ͖ɺฤू݁ՌΛύʔεͯ͠࢖͏ίϚϯυ

Slide 9

Slide 9 text

%FNP • git commit • SQL client(mysql, psql, etc)

Slide 10

Slide 10 text

౾஌ࣝ git commit ͱ͔ git rebase -i Ωϟϯηϧ͍ͨ͠Μ Ͱ͚͢Ͳ • :cq ͠·͠ΐ͏ • ฤू಺༰Λഁغͯ͠ΤϥʔίʔυΛฦ͠·͢

Slide 11

Slide 11 text

؀ڥม਺&%*503

Slide 12

Slide 12 text

7JNͰ͔͠։͔ͳ͍ʁ • ΤσΟλΛ։͘ίϚϯυ͸ଟ͘ͷ৔߹EDITORʹઃఆ͞ Ε͍ͯΔίϚϯυΛ࣮ߦ͢Δ • export EDITOR=vim ͩͱVimΛىಈ͢Δ • ׳शͱͯ͠ͷ͜͏ͳ͍ͬͯΔ͚ͩͳͷͰɺEDITORΛ࢖ ༻͠ͳ͍ίϚϯυ΋͋Δ

Slide 13

Slide 13 text

74$PEFΛىಈ͍ͨ͠ • ୯७ʹ export EDITOR=code ͩͱବ໨ • ىಈޙϓϩηε͕ৗற͢ΔλΠϓͷΤσΟλͩͱฤू ׬ྃΛ଴ͨͳ͍ • ϑΝΠϧ։͍ͯଈ࠲ʹίϚϯυͱͯ͠͸ऴΘΔ • export EDITOR='code --wait' • --waitΛ͚ͭΔ͜ͱͰฤू׬ྃ·Ͱ଴ͭΑ͏ʹͳΔ

Slide 14

Slide 14 text

%FNP • git commit on vscode

Slide 15

Slide 15 text

74$PEFͰ͍͍ͷͰ͸ʁ • (ྲྀੴʹVimʹൺ΂Δͱ)ىಈ͕஗͍ • λʔϛφϧʹ໭Δ·Ͱʹϫϯεςοϓඞཁ • VimͳΒ :wq Ͱ໭Δ • VSCodeͳΒ อଘͯ͠ด͡Δ > λʔϛφϧʹ໭Δ

Slide 16

Slide 16 text

͜͜·Ͱͷ·ͱΊ • λʔϛφϧ্ͰίϚϯυ͔ΒVimΛݺͼग़͢ͷศར • ىಈ଎౓΋૬·ͬͯɺίϚϯυ͔Βίʔϧ͞ΕΔΤσΟ λͱͯ͠͸VimʹΞυόϯςʔδ͕͋Δͱࢥ͍ͬͯΔ

Slide 17

Slide 17 text

͖Έ͸WJNEJ⒎Λ ͍ͬͯ͠Δ͔

Slide 18

Slide 18 text

WJNEJ⒎ͱ͸ Vimʹ಺ଂ͞Ε͍ͯΔࠩ෼දࣔ/Ϛʔδπʔϧ • vimdiff file1 file2 [file3 [file4]] • vim -d file1 file2 [file3 [file4]]

Slide 19

Slide 19 text

%FNP • vimdiff

Slide 20

Slide 20 text

(JU࿈ܞ

Slide 21

Slide 21 text

(JUWJNEJ⒎ • git difftool Ͱࠩ෼৘ใΛ֎෦πʔϧʹ࿈ܞ͢Δ͜ͱ ͕Ͱ͖Δ • Gitͷࠩ෼ΛVim্ͰݟΔ͜ͱ͕Ͱ͖Δ • git mergetool ͰίϯϑϦΫτ৘ใΛ֎෦πʔϧʹ࿈ ܞ͢Δ͜ͱ͕Ͱ͖Δ • GitͷίϯϑϦΫτΛVimͰղফ͢Δ͜ͱ͕Ͱ͖Δ

Slide 22

Slide 22 text

(JUͷEJ⒎UPPMʹ7JNΛ࢖͏ • ҎԼͷઃఆΛ~/.gitconfigʹ௥Ճ͢Δ͜ͱͰvimdiff ΛGitͷdifftoolͳ͍͠mergetoolͱͯ͠ొ࿥Ͱ͖Δ [diff] tool = vimdiff [merge] tool = vimdiff

Slide 23

Slide 23 text

Ԡ༻ฤ5JH࿈ܞ

Slide 24

Slide 24 text

5JHͱ͸ • λʔϛφϧ্ͰGitΛϦονʹදࣔ͢ΔTUIΞϓϦ • ઃఆϑΝΠϧ(~/.tigrc)ͰڍಈΛΧελϚΠζͰ͖Δ • ҎԼͷઃఆΛೖΕΔ͜ͱͰɺtigͰબ୒ͨ͠diffΛ vimdiffͰݟΔ͜ͱ͕Ͱ͖Δ bind main D !sh -c "git difftool %(commit)~ %(commit)" bind diff D !sh -c "git difftool %(commit)~ %(commit)" bind refs D !sh -c "git difftool %(branch)"

Slide 25

Slide 25 text

%FNP • tig & git difftool

Slide 26

Slide 26 text

෇࿥/FP7JNͷWJNEJ⒎

Slide 27

Slide 27 text

/FP7JNͷWJNEJ⒎ •vimdiffͱ͍͏ίϚϯυ͸VimͷγϯϘϦοΫϦϯΫ •NeoVimΠϯετʔϧࡁΈͰ΋vimdiffΛୟ͘ͱVim͕ىಈ •NeoVimͷࠩ෼ϞʔυΛvimdiffͰ࣮ߦ͢Δ৔߹ɺҎԼͷ ΤΠϦΞεઃఆ͕ඞཁ alias vimdiff='nvim -d'

Slide 28

Slide 28 text

/FP7JNͷHJUUPPM • git [diff/merge]tool͸ΤΠϦΞεΛݟͳ͍ • NeoVimͷvimdiffΛ࢖͏৔߹ɺ~/.gitconfigʹҎԼ ͷઃఆ͕ඞཁ [difftool "vimdiff"] cmd = "nvim -R -d -c \"wincmd l\" -d \"$LOCAL\" \"$REMOTE\"" [mergetool "vimdiff"] cmd = "nvim -d -c \"4wincmd w | wincmd J\" \"$LOCAL\" \"$BASE\" \"$REMOTE\" \"$MERGED\""

Slide 29

Slide 29 text

࠷ޙʹ

Slide 30

Slide 30 text

ࠓ೔఻͔͑ͨͬͨϝοηʔδ • Vim͕ϑΟοτ͢Δൣғ͸෯޿͍ • ϝϞॻ͖ͷΑ͏ͳͪΐͬͱͨ͠ฤू • IDEͷΑ͏ͳॏ͍ฤू • VimΛىಈͯ͠Ӡʑ͚ͩͰͳ͘ɺ֎෦͔ΒVimΛىಈ͢Δ ͱ޾ͤͳ͜ͱ͕͋Δύλʔϯ΋͋Δ

Slide 31

Slide 31 text

7JNͦΕ͸Մೳੑͷ्

Slide 32

Slide 32 text

ࣗݾ঺հ lighttiger2505 •αʔόαΠυΤϯδχΞ@iRidge •࢓ࣄ:Python •झຯ:Golang࣌ʑVimscript •lab •deoplete-vim-lsp