IMEDIFF(1)

πŸ“¦
version 3.4.2 Β· 3 versions
, in ubuntu resolute, ubuntu stonking

✨ NAME ✨

imediff β€” an interactive fullscreen merge tool for 2 or 3 files πŸ’–

Like, it's the imediff manual page bestie, and it's literally about merging files in a whole fullscreen situation. Let's get into it. πŸ¦‹


🌸 SYNOPSIS 🌸

imediff [-h] [-v] [-abcdfg] [-o OUTPUT] [-m] [-n] [-s] [-t] [-l] [-...]
        {file_a} {file_b} [file_c]

πŸ’… DESCRIPTION πŸ’…

Okay so picture this: you gotta merge two (slightly different) files, and there's optionally a common base file too, and you do it interactively with a super user-friendly fullscreen interface, running in full screen text terminal mode. No cap. πŸŽ€

For the diff2 case, these files are:

  • file_a == OLDER
  • file_b == NEWER

For the diff3 case, these files are:

  • file_a == MYFILE
  • file_b == OLDFILE (base file)
  • file_c == YOURFILE

imediff shows the differences of the given two files (in color if your terminal supports them, slay), lets you scroll the file, and lets you toggle changes between the older and newer version for each chunk of difference. Iconic. You can also pick line diff and character wdiff mode for the display. And if you feel like making manual changes, you can edit each chunk with an editor. The result of the merge operation gets saved in OUTPUT. If OUTPUT is missing, STDERR is used instead. πŸ’œ

On top of that, you can customize your choice of editor via $EDITOR or ~/.imediff. The default editor is /usr/bin/editor. 🫢

Removed lines are shown in reversed '???' as a placeholder, so you can see them and you can select them. And the way it takes one line on display but is naturally not saved into the output file? Yeah, that's just how it is, iykyk. πŸ‘‘

To see the key binding, hit h in the main imediff screen.

To see the tutorial, hit H in the main imediff screen, or just start the imediff command without arguments. 🧚

The program exits with status 0 if the changes were saved, 1 if the merging was aborted, and 2 if the parameters were invalid.


⭐ OPTIONS ⭐

  • -h, --help β€” Show a summary of options and exit. Short and sweet fr.
  • -a β€” Start with all chunks to use file_a.
  • -b β€” Start with all chunks to use file_b.
  • -c β€” Start with all chunks to use file_c (only for diff3).
  • -d β€” Start with all chunks to use diff.
  • -f β€” Start with all chunks to use wdiff.
  • -g β€” Start with good merge mode. (only for diff3)
  • -o OUTPUT, --output=file_output β€” Write output to a given file. If this is missing, STDERR is used.
  • -l, --force-logging β€” Force LOGFILE="imediff.log" and LOGLEVEL="INFO".
  • -n, --non-interactive β€” Use the non-interactive CLI instead of the normal TUI.
  • -s, --sloppy β€” Allow one to save unresolved contents.
  • -t, --template β€” Create a template configuration file ~/.imediff .
  • -v, --version β€” Show version and license.
  • -... β€” For other options, see the tutorial by starting "imediff" without any arguments.

🌈 SEE ALSO 🌈

sdiff(1), diff(1), merge(1), diff3(1).


This manual page as well as the program itself was written by Jarno Elonen <elonen@iki.fi> and Osamu Aoki <osamu@debian.org>. And here's the tea: unlike the program itself, which is licensed under the GNU General Public License (GPL) version 2 (or any later version, at your option), this document has been placed into the Public Domain. Periodt. πŸŽ€


πŸ‘‘ AUTHORS πŸ‘‘

  • Jarno Elonen <elonen@iki.fi>
    • Original author for 2 file merge in python2
  • Osamu Aoki <osamu@debian.org>
    • Rewrite author for 2 and 3 file merge in python3

Copyright Β© 2003-2006, 2018-2025 Jarno Elonen <elonen@iki.fi>, Osamu Aoki <osamu@debian.org>


and that's the whole vibe bestie β€” this page is imediff, from the imediff User Manual, dated 2018-12-11, and it's giving IMEDIFF(1) energy. Go merge something gorgeous. πŸ’…βœ¨πŸ¦‹πŸ’–

πŸ“¦ where this page comes from