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
Vim script 静的解析の光と闇
Search
Kuniwak
PRO
August 22, 2015
Programming
8
1.8k
Vim script 静的解析の光と闇
YAPC:Asia 2015 の LT Day2 の発表です。
http://yapcasia.org/2015/
Kuniwak
PRO
August 22, 2015
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
17
2.4k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
50
HOME VR
orgachem
PRO
1
760
uGUI の自動操作の考え方と操作方法
orgachem
PRO
0
1.1k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
950
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
880
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
24k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
910
睡眠する技術 / Technology to Sleep
orgachem
PRO
15
14k
Other Decks in Programming
See All in Programming
[RubyKaigi 2024] Ruby Mixology 101: adding shots of PHP, Elixir, and more
palkan
0
120
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
410
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
14
4.5k
JS RPCを理解する
yusukebe
5
270
An adventure of Happy Eyeballs
coe401_
1
150
地方こそサーバーレス、その意義に迫るサーバーレスPHP / Serverless PHP: The Rural Areas, and Why Serverless PHP Matters
seike460
PRO
2
100
Jetpack Composeとデザインシステム
rmakiyama
0
230
The grand strategy of Ruby Parser
yui_knk
5
300
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
250
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
74k
TypeScriptから始める VR生活
tamagokakeg
2
120
The Design of Everyday APIs - PyCon 2024
roguelynn
0
190
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
290
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Side Projects
sachag
451
41k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Building Applications with DynamoDB
mza
88
5.7k
Designing for Performance
lara
601
67k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Being A Developer After 40
akosma
67
580k
Gamification - CAS2011
davidbonilla
77
4.6k
GitHub's CSS Performance
jonrohan
1025
450k
Transcript
7JNTDSJQU੩తղੳͷ ޫͱҋ
"CPVUNF
Kuniwak
7JNTDSJQU੩తղੳͷ ޫͱҋ
ޫͱҋͱ͍ͬͨͳɻ ͋Ειͩɻ
VViimm ssccrriipptt静的解析の 闇
ಛʹมͷղੳͰ ௧͍ʹ͖͋ͬͯͨ
۩ମతʹɿ w ະఆٛมͷ༻Λݕग़ w ະ༻มΛݕग़
࣮ͯ͠Έ͍͍ͨͷͷʜ w ߈ͰJTTVFཱ͕ͭͭ w ཱ͔ͪͩΔṖߏจͨͪ
ʘ͑Δͳʗ
None
ʢ͍͑ͨʜʣ
-W
มղੳͷجຊɺ มͷએݴͱࢀরͷ
એݴͱࢀরΛ͢Δ͜ͱͰʜ w એݴ͞Ε͍ͯͳ͍ͷʹࢀর͞Ε͍ͯΔ w એݴ͞ΕͯΔ͚Ͳࢀর͞Εͯͳ͍ Α͏ͳมΛݟ͚ͭͩ͢
7JNTDSJQUͷมએݴ
7JNTDSJQUͷมએݴ
–:h redir lSFEJ<S>\WBS^ϝοηʔδΛมʹ ϦμΠϨΫτ͠·͢ɻม͕ଘࡏ͠ͳ͍ ߹ɺ࡞͞Ε·͢ɻz
ίΠπɺมએݴ Ͱ͖Δͧʂ
-W
มղੳͷجຊɺ είʔϓΛ͓͑͞Δ͜ͱ
είʔϓͷछྨΛ ΈͯΈΑ͏
w NZ w PVS w MPDBM w TUBUF w ҉ͷHMPCBM
1FSM 7JNTDSJQU w H w M w T w X w C w U w W w ҉ͷH w ҉ͷM w ҉ͷW
ѹతͰͳ͍͔ʂ
͔͠ʮ҉ͷʙʯ͕ དͷDPVOUΛ Ҿ͖ى͜͢
100 0 100
WDPVOU͕ ࢀর͞ΕͯΔʂ
͞Βʹมͱؔʜ
var func
ผۭؒͩίϨʂ
-W
͋Δྻ͔Βผͷ ྻΛͭ͘ΔؔNBQ
จࣈྻ 1FSMͷNBQؔ 7JNTDSJQUͷNBQؔ
จࣈྻʹ͞ΕΔͱ ࣮ߦ࣌·ͰΘ͔Βͳ͍
ͳͷͰɺଟ͘ͷ੩తݕࠪ πʔϧղੳΛఘΊΔ
ͦ͜Ͱɺແࢹ͢ΔΑ͏ ʹͬͯΈͨͱ͜Ζʜ
ޡܯࠂͷཛྷ
ٽ͖ͳ͕ΒจࣈྻϦςϥϧ͚ͩ ղੳͰ͖ΔΑ͏ʹͨ͠ʜ
ʘŞŞŞʜNBQؔ ུ ʗ
ΩʔೖྗΛӈͷΩʔೖྗʹׂΓͯΔ NBQίϚϯυ
มએݴίϚϯυ͕࣮ߦ͞ΕΔ NBQίϚϯυͰมએݴ
Զ͢Ͱʹจࣈྻͷ߹ʹ ղੳ͢Δํ๏Λ͍ͬͯΔʜ ಉ͡खॱͰղੳͯ͠Δͧʂ
ʘʜʗ
ʘŞŞŞʜʗ
NBQίϚϯυͰมએݴ Ωʔೖྗͷ࠶ݱͳͷͰɺҟೖΔ
None
řŕ
ʘŞŞŞʜʗ
ʘ୭͕࠶ؼల։͠ͳ͍ͱݴͬͨʁʗ
͜ΕΒͷจࣈ͕NBQ͞Εͯͳ͍ͱݶΒͳ͍ʂ NBQ࠶ؼల։͞ΕΔ
řřŕ
ʘ͑Δͳʗ
ʢ͍͑ͨʜʣ
͍͑ͨͷͰɺղੳ͍͢͠ ίʔυΛॻ͍ͯ΄͍͠
ղੳ͍͢͠ίʔυ OPSFNBQ࠶ؼల։͞Εͳ͍ จࣈྻΛಈతʹૢ࡞͠ͳ͍
ͦΜͳ͜ΜͳͰͰ͖ͨͷ͕
Πϯετʔϧํ๏
$ pip install vim-vint
$ vint .vimrc .vimrc:6:10: Variable is not declared (see :help
E738)
Ұॹʹಇ͖·ͤΜ͔ʁ