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
680
Vim にコントリビュートしたい (ダウンロードでリンク有効) / How to contribute to the Vim
m-nishi
June 13, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
ドメイン名の終活について - JPAAWG 7th -
mikit
32
19k
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
140
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
110
今、始める、第一歩。 / Your first step
yahonda
2
730
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
31
8k
"君は見ているが観察していない"で考えるインシデントマネジメント
grimoh
4
1.1k
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
1
1.2k
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
The Role of Developer Relations in AI Product Success.
giftojabu1
0
110
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
200
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
380
TypeScript、上達の瞬間
sadnessojisan
38
10k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Happy Clients
brianwarren
98
6.7k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Designing Experiences People Love
moore
138
23k
Navigating Team Friction
lara
183
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Building Adaptive Systems
keathley
38
2.3k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
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!