fugitive.vim is undoubtedly the best Git wrapper of all time.
This plugin allows you to use it with https://gitlab.com or your own private GitLab instance.
Enables :GBrowse
from fugitive.vim to open GitLab URLs
In commit messages, GitLab issues and users can be omni-completed
(<C-X><C-O>
, see :help compl-omni
).
Install it as you would install fugitive.vim (you will also need fugitive.vim installed)
To use private GitLab instances, add the following to your .vimrc
let g:fugitive_gitlab_domains = ['https://my.gitlab.com']
If the private GitLab instance uses different URLs, for example, one for SSH and another for HTTPS, instead add the following to your .vimrc
let g:fugitive_gitlab_domains = {'my-ssh.gitlab.com': 'https://my.gitlab.com'}
Fugitive command :GBrowse
will now work with GitLab URLs.
Curl is required for features
that use the GitLab API (i.e., :GBrowse
doesn't need it).
Generate a personal access token
with api permissions and add it to your vimrc
let g:gitlab_api_keys = {'gitlab.com': 'myaccesstoken'}
To use omnicompletion with a private GitLab repository
let g:gitlab_api_keys = {'gitlab.com': 'mytoken1', 'my.gitlab.private': 'mytoken2' }
Omnicompletion functionality is subject to change.
fugitive-gitlab.vim requires a modern fugitive.vim. API features require a GitLab instance with v4 of the API.
How do I turn off that preview window that shows the issue body?
set completeopt-=preview
:GBrowse produces 404s on my old self hosted GitLab
let g:fugitive_gitlab_oldstyle_urls = 1
Why doesn't this plugin have a pun name?
I couldn't think of one.