The fugitive.vim plugin 1 for Vim has a nice feature to open a file in GitHub. It is even possible to have a range or line highlighted from a visual selection!
From the README:
:Gbrowseto open the current file on GitHub, with optional line range (try it in visual mode!). If your current repository isn’t on GitHub, git instaweb will be spun up instead.
But what if your team uses the GitHub Enterprise version of GitHub or a private git server? We are in luck, the
Gbrowse feature still works, it just requires a little configuration.
First on OS X, I had to tell git that I want web URLs to open with the
open command. By default they were being opened with a command line browser.
git config --global web.browser open
Next, the GitHub domain can be set via a variable that the plugin reads. This was set to our private GitHub Enterprise URL.
To keep this private URL out of my public Vim configuration 2, I made a
workvimrc file and called
source ~/.workvimrc to “source” it into my main config. Now the value is read when new Vim instances are started.
let g:fugitive_github_domains = ['http://secret_github_enterprise_url']
In a new Vim instance or after reloading the main Vim config,
:Gbrowse opens the current file at the correct URL in GitHub enterprise! This is a nice time saver when sharing links to code with colleagues.
To have one or more lines automatically highlighted on the opened page, type
Gbrowse after making a range selection (e.g.
Shift-v j/k), which should look like this
:'<,'>Gbrowse, then press return.
Another nice tip 3 to copy the path to the clipboard without opening the browser, is
Have any other time savers in your workflow to share?