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
転ばぬ先の杖「vint」
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kuniwak
PRO
November 08, 2014
Technology
5
6k
転ばぬ先の杖「vint」
Vim の新しい lint 「vint」を紹介します。
English ver:
https://speakerdeck.com/orgachem/vint-new-vim-script-lint
Kuniwak
PRO
November 08, 2014
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
20
10k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
7
3.1k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.5k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
650
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
730
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.9k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
220
HOME VR
orgachem
PRO
1
850
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.6k
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
380
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
22k
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
6
7.7k
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
19
7.2k
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.9k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
44k
Datadog Cloud Cost Management で実現するFinOps
taiponrock
PRO
0
130
チームメンバー迷わないIaC設計
hayama17
5
3.7k
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
3
220
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
2
340
What's new in Go 1.26?
ciarana
2
280
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1k
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
The Language of Interfaces
destraynor
162
26k
Technical Leadership for Architectural Decision Making
baasie
3
270
The Cost Of JavaScript in 2023
addyosmani
55
9.7k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
470
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
For a Future-Friendly Web
brad_frost
183
10k
GraphQLとの向き合い方2022年版
quramy
50
14k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.7k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Transcript
About me
Kuniwak
Today, I talk about…
'PSFXBSOFEJT GPSFBSNFE ʲస͵ઌͷ伺ʳ
Lint tool for Vim script
Story
7JNQMVHJOͭͬͯ͘Δͱ Ṗ·Γଟൃʜ
None
None
ผʹ7JNTDSJQUͦΜͳʹ ͖͡Όͳ͍Μ͚ͩͲʜ
ʗ XFMDPNF ʘ ʘXFMDPNFʗ ʘXFMDPNFʗ
࣮ߦ͢Δ·Ͱͳ͘ ·ΓͲ͜ΖΛճආ͍ͨ͠
'PSFXBSOFEJT GPSFBSNFE ʲస͵ઌͷ伺ʳ
Forewarned is forearmed
None
$ vint .vimrc .vimrc:6:10: Variable is not declared (see :help
E738)
Why vint?
Lint possible story ʲlint ͋Δ͋Δʳ
Stop the World Lint ʲβɾϫʔϧυ lintʳ
Nagging Mom Lint ʲ͓͔Μ lintʳ
Meaning less Lint ʲແ lintʳ
Fastness Customizable Usefulness Kuniwak/ vint A A A syngan/ vim-vimlint
C B A ujihisa/ vimlint B B B dahu/ VimLint B C B dbakker/ vim-lint A C B
How to install
$ pip install vim-vint
None
$ vint .vimrc .vimrc:6:10: Variable is not declared (see :help
E738)
Dive into the Vint
Maintainability
MJOUʹͭͷ࣮ྨܕ͕͋Δɿ w ݕࠪखଓ͖ɾϧʔϧҰମܕ w ݕࠪखଓ͖ɾϧʔϧܕ
この22つの類型を ある指標で 比較してみよう…
「11つのルールを 追加するのに 何行読まないと いけないか」
ݕࠪखଓ͖ɾϧʔϧҰମܕ w KTMJOUϑΝΠϧYMJOFT w KTIJOUϑΝΠϧYMJOFT w WJNWJNMJOUϑΝΠϧYMJOFT w QZqBLFTϑΝΠϧYMJOFT
ݕࠪखଓ͖ɾϧʔϧܕ wߦΠϕϯτυϦϒϯ w QFQؔYMJOFT w WJNMJOUϑΝΠϧYMJOFT w"45ΠϕϯτυϦϒϯʢߴͳνΣοΫ͕Մೳʣ w 1FSM$SJUJDϑΝΠϧYMJOFTʢQFSMͳͷͰهड़ྔ૿͑ͨʣ w
SVCPDPQϑΝΠϧYMJOFT w FTMJOUϑΝΠϧYMJOFT w WJOUϑΝΠϧYMJOFT
ͭ·Γ w ݕࠪखଓ͖ɾϧʔϧશҰମܕ ղಡෆೳ w ݕࠪखଓ͖ɾϧʔϧܕͷ͏ͪɺ "45ΠϕϯτυϦϒϯείʔϓղੳͷ ߴͳνΣοΫ͕Մೳ
How to add new rule
Please ask me
Help us!
Forewarned is forearmed https://github.com/Kuniwak/vint