🐢
vimで選択部分をGitHubのリンクとしてyankするプラグインを作った
資料を作るときに「そのコードってGitHubのどこにある?」と聞かれることが多くなっている気がしたので作りました。
使い方
YankRemoteURL
Normal Modeであればカーソル行、Visual Modeであれば選択している行をGitHubなどのリンクとしてyankします。
見ているファイルがgitの追跡対象外||gitのリポジトリのディレクトリにいない場合は失敗します。
yank_remote_url#yank_url(line1[, line2])
YankRemoteURL
の関数版です。
yank_remote_url#generate_url(line1[, line2])
YankRemoteURL
でyankされるURLを返す関数です。
open-browser.vimなどと組み合わせると良さそう。(個人的に試したわけではないので憶測ですが。)
より詳しい挙動についてはGitHubのREADME.mdか/doc/yank-remote-url.txtを参照してください。
注意事項
-
初回実行時だけ同期処理でGitHubのURLを生成するのでほんの少し引っかかりを感じるぐらいの遅延があります
-
timer_start()
を使えば改善できるかも
-
-
対応しているのはGitHub, GitLab, GitBucketのみ
- URLの仕様がどうなっているのかを調べるのが面倒だったので上記のみ対応です
- もしかすると上記でもうまくURLが生成できないかもしれないです
- gitlabのセルフホストなどはどうなるか調べきれていない
Discussion