shumphrey / fugitive-gitlab.vim

A vim extension to fugitive.vim for GitLab support
MIT License
267 stars 21 forks source link
fugitive git gitlab vim

fugitive-gitlab.vim

Fugitive GitLab

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.

Installation

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.

Requirements

fugitive-gitlab.vim requires a modern fugitive.vim. API features require a GitLab instance with v4 of the API.

FAQ

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.