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 にコントリビュートしたい (ダウンロードでリンク有効) / How to contri...
Search
m-nishi
June 13, 2019
Technology
780
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vim にコントリビュートしたい (ダウンロードでリンク有効) / How to contribute to the Vim
m-nishi
June 13, 2019
Other Decks in Technology
See All in Technology
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
2.7k
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
FDEの心得
noriakioji
4
5.1k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.2k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
280
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
260
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.7k
私がブラウザを自作したくなった理由
supurazako
1
230
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
220
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
210
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
260
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
30 Presentation Tips
portentint
PRO
1
370
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
The SEO identity crisis: Don't let AI make you average
varn
0
530
Building Applications with DynamoDB
mza
96
7.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Code Review Best Practice
trishagee
74
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Exploring anti-patterns in Rails
aemeredith
3
460
Transcript
Vim にコントリビュートしたい ゴリラ.vim #5 on 2019/6/13
自己紹介 西畑, m-nishi Vim 歴 1 年半 横浜で組み込み屋をやっています プラグインよりも Vim
本体のほうが好き Twitter mnishz0 GitHub mnishz
概要 ターゲット • Vim が好きで「何かコントリビュートしてみたい」と思っている人 内容 • どんな方法があるのか • 何ができるのかを自分なりに探ってきた道のり
• 取り立てて「〇〇を実装したい!」という明確なモチベーションはなかった • もし Vim のコミットログに名前が載ったら。。という不純な動機も
1 % "ドキュメント編" 2 "実装編"
Lv. 1: 日本語ヘルプの修正 vim-jp 運営のおなじみ日本語 ヘルプ 誤字脱字や誤りを発見してレ ポート オンライン版は常に最新なので、 こちらを参照してみてください
Lv. 1: 日本語ヘルプの修正 やり方(動画) オンライン ヘルプの編集 ボタンから
Lv. 1: 日本語ヘルプの修正 改行等の細かい作法はあるが、とりあえず気にしなくて OK • 「ですます」不統一 • インデントずれ •
等の細かい修正でも 番外編 vim-jp/vimdoc-ja をプラグインのように追加すればローカルで最新の ヘルプを参照することができる
Lv. 2: 本家ヘルプの日本語への翻訳 翻訳作業リポジトリで有志による翻訳作業をやっています https://github.com/vim-jp/vimdoc-ja-working 本家ヘルプが更新されたタイミングで、日本語への翻訳を実施 過去 1 年間では 16
コミット / 月
Lv. 2: 本家ヘルプの日本語への翻訳 やり方 Wiki に詳しい作業手順や手引き が書いてある ファイルの翻訳に着手するとき は #207
で宣言しておくと他の 人と作業が被らなくていいです
Lv. 3: 本家ヘルプの修正 vim/runtime/doc で管理されている本家ヘルプの誤字脱字、誤り の修正 本家に直接 PR を送っても問題はありませんが、vim-jp で内容
をまとめている (#1172) のでそこに送るのがいいと思います 項目の棚卸を行うと、ヘルプの更新に伴って発生した抜け漏れが 見つかることがある
1 "ドキュメント編" 2 % "実装編"
Lv. 4: Issue の投稿 バグの報告や、実装の要望 vim-jp https://github.com/vim-jp/issues/issues vim-dev https://groups.google.com/forum/#!forum/vim_dev https://github.com/vim/vim/issues
vim-jp の方々はびっくりするくらい優しいので、まずは Slack の question チャンネルで尋ねてみるのもいいと思います
Lv. 4: Issue の投稿 問題の切り分けや再現手順が適切にできていれば bug reporter として名前が載る コツ •
いろんな機能をいろんな条件で試してみる • 新機能にはバグが多い • とりあえず毎日 fetch して log を眺めて build してみる
Lv. 5: Bug Fix や機能の実装
Lv. 5: Bug Fix や機能の実装 急にハードル高い そもそもこれができる人は言われなくてもやっている そこで。。
Lv. 4.5:テストを書く Bug Fix や実装はつよい人たちが いるので、ニッチ市場を攻める src ディレクトリで `make test`
を実行 テストに関する解説記事も書いた りしてます
Lv. 4.5:テストを書く テストされていないコードを探 して、テスト用 Vim script を 書く • コマンド
• 組み込み関数 • オプション src/evalfunc.c のテストを書 いて PR 投げました 結果。。 Codecov src/evalfunc.c:f_cindent()
Lv. 4.5:テストを書く 未テストだった 35 行が新たにテストされるように 無事 merge されました!
思ったこと 名前が載ったら嬉しい いろいろやっているだけでも割と楽しい 翻訳やテストによる Vim 基礎力の向上 一朝一夕では難しいが、長く続けていると自分しか気付いていな いことや自分でもできることが見つかる
今後とか Bug fix を 2 件入れることができた 新機能の実装もやってみたい colorscheme プレビュー 「機能を入れたいだけの人」にならないように
みなさんも興味があれば是非やってみてください
:qa!