Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on May 8, 2024. It is now read-only.
/vim-ginaPublic archive

👣 Asynchronously control git repositories in Neovim/Vim 8

License

NotificationsYou must be signed in to change notification settings

lambdalisue/vim-gina

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Version 1.0Support Vim 8.1 or aboveSupport Neovim 0.4 or aboveSupport Git 2.25 or abovePowered by vital.vimMIT LicenseDocDoc (dev)

reviewdogvimneovim


WARNING

Development of gina.vim is stopped. Users should be patient with existing bugs or checkgin.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 inVimConf2017 (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.

  • A git detection is fast and accurate
  • Commands are asynchronously performed
    • Users don't have to wait:Gina push (git push)
    • Asynchronous feature in Neovim is great.:Gina log (git log) onLinux repository won't freeze Neovim
  • Single command. Users do not need to remember tons of commands
    • :Gina {command} will execute a gina command or a git raw command asynchronously
    • :Gina! {command} will execute a git raw command asynchronously
    • :Gina!! {command} will execute a git raw command in a shell (mainly for:Gina!! add -p or:Gina!! rebase -i)
  • Action based. Users do not need to remember tons of mappings
    • ? to see the help
    • a to select an action to perform (complete with<Tab>)
    • . to repeat previous action
    • All action can map to an actual keymap
  • Author tried to follow Vim's flavor
    • No mapping foree or whatever which conflicts with Vim's native mappings (like vim-gita does...)
  • Customizable
    • Users can define action aliases and mappings
    • Users can define default options and aliases of command
    • More
  • Tested on all major platforms
    • Powered byvim-jp/vital.vim, mean that the things are unit tested
    • Gina add some behaviour test as well

Contribution

Any contribution including documentations are welcome.

Contributers should installthinca/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 inLICENSE.Contributors need to agree that any modifications sent in this repository follow the license.

About

👣 Asynchronously control git repositories in Neovim/Vim 8

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors17

Languages


[8]ページ先頭

©2009-2025 Movatter.jp