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
4
700
Vim にコントリビュートしたい (ダウンロードでリンク有効) / How to contribute to the Vim
m-nishi
June 13, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
Formal Development of Operating Systems in Rust
riru
1
420
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
3
3.3k
Goで実践するBFP
hiroyaterui
1
120
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
670
Alignment and Autonomy in Cybozu - 300人の開発組織でアラインメントと自律性を両立させるアジャイルな組織運営 / RSGT2025
ama_ch
1
2.4k
The future we create with our own MVV
matsukurou
0
2k
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
130
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
440
KMP with Crashlytics
sansantech
PRO
0
240
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
110
GeometryReaderやスクロールを用いた表現と紐解き方
fumiyasac0921
0
100
今から、 今だからこそ始める Terraform で Azure 管理 / Managing Azure with Terraform: The Perfect Time to Start
nnstt1
0
220
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
180
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
A designer walks into a library…
pauljervisheath
205
24k
Making Projects Easy
brettharned
116
6k
For a Future-Friendly Web
brad_frost
176
9.5k
Building an army of robots
kneath
302
45k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
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!