Skip to content
Snippets Groups Projects
Select Git revision
  • d0413e7ced848ac15525a384fbfca1539c5c325c
  • main default protected
  • feat/gnupg
  • next
  • fix/36615b-branch-reuse-no-cache
  • renovate/main-redis-5.x
  • chore/punycode
  • refactor/pin-new-value
  • feat/36219--git-x509-signing
  • feat/structured-logger
  • hotfix/39.264.1
  • feat/skip-dangling
  • gh-readonly-queue/next/pr-36034-7a061c4ca1024a19e2c295d773d9642625d1c2be
  • hotfix/39.238.3
  • refactor/gitlab-auto-approve
  • feat/template-strings
  • gh-readonly-queue/next/pr-35654-137d934242c784e0c45d4b957362214f0eade1d7
  • fix/32307-global-extends-merging
  • fix/32307-global-extends-repositories
  • gh-readonly-queue/next/pr-35009-046ebf7cb84ab859f7fefceb5fa53a54ce9736f8
  • gh-readonly-queue/next/pr-35009-9d5e583b7d7251148ab0d11ee8dd38149618d162
  • 41.43.5
  • 41.43.4
  • 41.43.3
  • 41.43.2
  • 41.43.1
  • 41.43.0
  • 41.42.12
  • 41.42.11
  • 41.42.10
  • 41.42.9
  • 41.42.8
  • 41.42.7
  • 41.42.6
  • 41.42.5
  • 41.42.4
  • 41.42.3
  • 41.42.2
  • 41.42.1
  • 41.42.0
  • 41.41.0
41 results

error.spec.ts

Blame
  • README.md 17.32 KiB

    vimagit

    Join the chat at https://gitter.im/jreybert/vimagit Master build status

    Ease your git workflow within vim.

    From a very single vim buffer, you can perform main git operations in few key press. To name a few:

    • Visualize all diffs in your git repository.
    • Stage file, hunks or even just parts of a hunk using a single key press.
    • Write or amend your commit message and commit in the same buffer.

    Take a look at TL;DR to start using it immediately.

    Example of vimagit 1.5.1

    Some screencasts:

    This workflow is 100% inspired from magnificent emacs Magit plugin.

    Outstanding features

    • Preview all your git changes in one unique buffer, folded at hunk level.
    • Interactively stage/unstage/discard changes with one key press.
    • Stage/unstage at file/hunk/line level.
    • Write the commit message in the same buffer.
    • From a hunk in magit buffer, jump to the file at the diff position.
    • 100% VimL plugin, no external dependency (except git of course).
    • Enhanced by external plugins: vim-gitgutter vim-airline
    • Stable. All features are tested in continuous integration.

    More to come:

    • Add a push function, taking care if needed about the remote repository and branch #24 .
    • Handle commit fixup! and squash!, with a smart git log popup #23 .
    • Handle stash: add, pop, apply, drop #26 .
    • Stage multiple hunks or file by visually selecting them #83 .
    • Go through history, cherry-pick changes.
    • Make vimagit more efficient for huge repositories, with a lot of diffs.
    • Something is missing? Open an issue!

    Why should I use vimagit, there are already plethora git plugins for vim?

    • fugitive is a very complete plugin, with a lot of functions. I use it for years, and it is a fundamental tool in my workflow. But visualize your changes and staged them in broad number of files is really a pain.
    • vim-gitgutter is very well integrated into vim, but without the ability to commit stages, it stays an informational plugin.

    TL;DR

    This is the minimal required set of command you must know to start playing with vimagit. See Mappings for a complete description.

    To simply test vimagit, modify/add/delete/rename some files in a git repository and open vim.

    • :Magit
      Open magit buffer with :Magit command.
    • <C-n>
      Jump to next hunk with <C-n>, or move the cursor as you like. The cursor is on a hunk.
    • S
      While the cursor is on an unstaged hunk, press S in Normal mode: the hunk is now staged, and appears in "Staged changes" section (you can also unstage a hunk from "Staged section" with S).
    • CC
      Once you have stage all the required changes, press CC.
      • Section "Commit message" is shown.
      • Type your commit message in this section.
      • To commit, go back in Normal mode, and press CC (or :w if you prefer).