A terminal-native UI for resolving Git merge conflicts with a 3-way diff view and Vim-like keybindings.
ec (easy-conflict) is a terminal-based Git mergetool that provides a three-pane text user interface for resolving merge conflicts. It displays the local, merged result, and remote versions side-by-side, helping developers quickly choose between changes without leaving the command line. The tool supports diff3 base comparison and offers both interactive and scriptable modes.
Developers who frequently work with Git and prefer terminal-based workflows, especially those using Vim or Neovim and seeking a faster, more visual way to handle merge conflicts.
ec offers a unique combination of a terminal-native 3-way diff view, Vim-like keybindings, and seamless Neovim integration, allowing developers to resolve conflicts efficiently without switching to a GUI tool or external editor.
Easy terminal-native 3-way git mergetool vim-like workflow
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Simultaneously displays ours, result, and theirs in a single view, providing clear visual diff context without leaving the terminal, as demonstrated in the screenshot and feature list.
Uses familiar navigation keys like n/p for next/previous conflict and h/l for side selection, speeding up resolution for Vim users and reducing context switching.
Includes a plugin to open ec directly in a Neovim terminal buffer, blending conflict resolution into editor workflows with customizable float windows, per the README setup.
Supports non-interactive options like --apply-all ours for automating conflict resolution in CI/CD pipelines, enabling use in scripting and automated environments.
Allows color scheme personalization via a JSON config file, with support for hex colors in TrueColor terminals, though this requires specific terminal capabilities.
ec does not run git add after writing resolved files, as noted in the README, forcing an extra manual step that can lead to incomplete merges if forgotten.
Installation varies by OS—Windows requires manual PATH setup or PowerShell scripts, and Nix packages may lag behind releases, adding setup overhead.
Features like hex color themes require TrueColor terminal support, and the TUI might struggle with extremely large files due to terminal rendering constraints.
Designed specifically for Git, ec is unsuitable for projects using other version control systems, limiting its applicability in mixed VCS environments.