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
Kuniwak
PRO
November 08, 2014
Technology
5
5.9k
転ばぬ先の杖「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
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
1
120
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
530
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.4k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
160
HOME VR
orgachem
PRO
1
810
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.5k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.4k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1.2k
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
27k
Other Decks in Technology
See All in Technology
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
2.4k
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
3
7.9k
AI専用のリンターを作る #yumemi_patch
bengo4com
6
4.3k
20250705 Headlamp: 專注可擴展性的 Kubernetes 用戶界面
pichuang
0
280
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
2
390
事例で学ぶ!B2B SaaSにおけるSREの実践例/SRE for B2B SaaS: A Real-World Case Study
bitkey
0
110
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
410
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
300
What’s new in Android development tools
yanzm
0
380
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
390
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
130
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
13
6.1k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Optimizing for Happiness
mojombo
379
70k
How STYLIGHT went responsive
nonsquared
100
5.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Balancing Empowerment & Direction
lara
1
430
Thoughts on Productivity
jonyablonski
69
4.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Facilitating Awesome Meetings
lara
54
6.4k
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