lambdalisue / vim-gina

👣 Asynchronously control git repositories in Neovim/Vim 8
http://www.vim.org/scripts/script.php?script_id=5531
MIT License
687 stars 27 forks source link
asynchronously gina git jobs neovim plugin vim vim-gita

👣 gina.vim

Version 1.0 Support Vim 8.1 or above Support Neovim 0.4 or above Support Git 2.25 or above Powered by vital.vim MIT License Doc Doc (dev)

reviewdog vim neovim


WARNING

Development of gina.vim is stopped. Users should be patient with existing bugs or check gin.vim that is under active development. Any further improvements of features will be applied to gin.vim instead.


gina.vim (gina) is a plugin to asynchronously control git repositories.

Presentation

You've been Super Viman. After this talk, you could say you are Super Viman 2 -- Life with gina.vim

I've talked about what the gina.vim is in VimConf2017 (Slide). Check it out if you would like to feel what the gina.vim is.

Usage

The following is a schematic image of general working-flow with gina.

   ┌─────┬──────────┐
   │     │          │
#DIRTY#  │          ▼
   ▲     │    :Gina status  │ <<  : stage
   │     │          │       │ >>  : unstage
   │     │          │       │ --  : toggle
:write   │       #STAGED#   │ ==  : discard
   ▲     │          │       │ pp  : patch
   │     ├──────────┤       │ dd  : diff
   │     │          ▼
#CLEAN#  │     :Gina commit │ !   : switch --amend
   │     │          │       │ :w  : save cache
   │     ▼          │       │ :q  : commit changes (confirm)
   └────────────────┘       │ :wq : commit changes (immediate)

So basically user would

  1. Edit contents in a git repository
  2. Stage changes with :Gina status
  3. Commit changes with :Gina commit

See :h gina-usage for advance usage. Gina provides a lot more features.

Pros.

Contribution

Any contribution including documentations are welcome.

Contributers should install thinca/vim-themis to run tests before sending a PR if they applied some modification to the code. PRs which does not pass tests won't be accepted.

License

The code in gina.vim follows MIT license texted in LICENSE. Contributors need to agree that any modifications sent in this repository follow the license.