Skip to content
Projects

kahole/edamagit has 1,539 GitHub stars and 95 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-08 23:28 UTC. Last push 2026-09-13.

How these counts are measured

Magit for VSCode

What you can do

  • More diffing features
  • More logging features (https://github.com/kahole/edamagit/pull/40)

Measured star growth

in 24h
0
in 7 days
0
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original


edamagit
edamagit

Magit for VSCode, inspired by the awesome original Magit.

Usage • Tutorial • Settings • Vim Bindings • Roadmap


Keyboard driven Git interface

Usage (Theme: Dracula)

Usage

VSCode Command Default shortcut
Magit Status alt+x g
Magit File Popup alt+x alt+g
Magit Dispatch alt+x ctrl+g
Magit Help (when in status view) ?

> Magit in VSCode Command palette will show you all available Magit actions from where you are.

Keybindings inside edamagit

Popup and dwim commands
  A Cherry-pick      b Branch           c Commit
  d Diff             f Fetch            F Pull
  I Ignore           l Log              m Merge
  M Remote           P Push             r Rebase
  t Tag              V Revert           X Reset
  y Show Refs        z Stash            shift+1 Run
  shift+5 Worktree   o Submodules       shift+4 Process Log

Applying changes
  a Apply          s Stage          u Unstage
  v Reverse        S Stage all      U Unstage all
  k Discard

Essential commands
  g        refresh current buffer
  TAB      toggle section at point
  RET      visit thing at point
  shift+4  show git process view
  q        exit / close magit view

  ctrl+j Move cursor to next entity
  ctrl+k Move cursor to previous entity

[ See also the edamagit tutorial ]


Settings

  • Forge-enabled: Enable Forge functionality (show pull requests, issues, etc from e.g. Github)
  • Display-buffer-function: Choose which side for magit windows to open on.
  • Hide-status-sections: Hide listed sections from status view.
  • Quick-switch-enabled: Automatically confirm switch menu after enabling a switch (e.g. --force)

Monorepo support

When used in a monorepo, you need to make sure that the subdirectory can detect the parent's .git.

{
  "git.openRepositoryInParentFolders": "always",
}

Vim support (VSCodeVim)

All edamagit keybindings are customizable using VSCode's built-in keybindings.json.

Below are bindings providing evil-magit / spacemacs like keybindings.

The negative bindings, e.g. -magit.discard-at-point for key k, remove the default edamagit bindings and the collisions with the Vim extension.

Open your keybindings.json and paste the following JSON snippet.

Bindings - keybindings.json
  {
     "key": "g g",
     "command": "cursorTop",
     "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
  },
  { "key": "g r",
     "command": "magit.refresh",
     "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
  },
  {
    "key": "tab",
    "command": "extension.vim_tab",
    "when": "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert' && !inlineEditIsVisible && editorLangId != 'magit'"
  },
  {
    "key": "tab",
    "command": "-extension.vim_tab"
  },
  {
    "key": "x",
    "command": "magit.discard-at-point",
    "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
  },
  {
    "key": "k",
    "command": "-magit.discard-at-point"
  },
  {
    "key": "-",
    "command": "magit.reverse-at-point",
    "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
  },
  {
    "key": "v",
    "command": "-magit.reverse-at-point"
  },
  {
    "key": "shift+-",
    "command": "magit.reverting",
    "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
  },
  {
    "key": "shift+v",
    "command": "-magit.reverting"
  },
  {
    "key": "shift+o",
    "command": "magit.resetting",
    "when": "editorTextFocus && editorLangId == 'magit' && vim.mode =~ /^(?!SearchInProgressMode|CommandlineInProgress).*$/"
  },
  {
    "key": "shift+x",
    "command": "-magit.resetting"
  },
  {
    "key": "x",
    "command": "-magit.reset-mixed"
  },
  {
    "key": "ctrl+u x",
    "command": "-magit.reset-hard"
  }

Roadmap

Feature requests as well as issues are welcome

Interface

  • More interactivity in second-tier views (commit view, stash view, etc)
  • Config menus

Missing Git/Magit features

Missing Forge features

Explore related projects