ICDIFF(1)

πŸ“¦
version 2.0.10 Β· 5 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– ICDIFF β€” terminal side-by-side colorized word diff πŸ’–

ok so bestie. icdiff is the terminal side-by-side colorized word diff and honestly? it's giving glow-up. it's the diff you show your friends. it's the diff with main character energy. no cap. ✨


πŸŽ€ SYNOPSIS πŸŽ€

icdiff [options] left_file right_file

two files, one vibe check, zero drama (unless you want drama, in which case, keep reading). πŸ¦‹


🌸 DESCRIPTION 🌸

it shows you the differences between files in a two column view. left file on the left, right file on the right, and the changes just ✨ glow ✨ so your eyeballs can clock them instantly. periodt.


πŸ’… OPTIONS πŸ’…

  • --version β€” show the program's version number and then dip. that's it, that's the whole option. πŸ‘‘
  • -h, --help β€” show this help message and exit. hi bestie, here's the manual, love u. 🫢
  • --cols=COLS β€” specify the width of the screen. heads up: autodetection is Unix only, so if you're somewhere else, you're on your own fr fr. 😭
  • --encoding=ENCODING β€” specify the file encoding. default is utf8 because of course it is. 🌈
  • -E MATCHER, --exclude-lines=MATCHER β€” do not diff lines that match this regex. not compatible with the 'line-numbers' option, so pick a lane, babe. πŸ’€
  • --head=HEAD β€” only look at the first N lines of each file. we're skimming, not reading. πŸ“–
  • -H, --highlight β€” color by changing the background color instead of the foreground color. the manual itself says: very fast, ugly, displays all changes. iconic honesty. it's ugly but it's fast, iykyk. πŸ™ˆ
  • -L LABELS, --label=LABELS β€” override file labels with arbitrary tags. use it twice, once for each file. you may include the formatting strings '{path}' and '{basename}' ✨
  • -N, --line-numbers β€” generate output with line numbers. not compatible with the 'exclude-lines' option. it's one or the other, bestie, choose wisely. πŸŽ€
  • --no-bold β€” use non-bold colors. recommended for solarized. soft girl aesthetic mode. 🌸
  • --no-headers β€” don't label the left and right sides with their file names. mysterious. anonymous. main character with no name. πŸ¦‹
  • --output-encoding=OUTPUT_ENCODING β€” specify the output encoding. default is utf8. πŸ’œ
  • -r, --recursive β€” recursively compare subdirectories. we're going deep, we're going ALL the way down. πŸ•³οΈ
  • -s, --report-identical-files β€” report when two files are the same. sometimes the tea is that there's no tea. πŸ’–
  • --show-all-spaces β€” color all non-matching whitespace, including the whitespace that isn't even needed for drawing your eye to the changes. the manual says: slow, ugly, displays all changes. so like. you've been warned. 🫠
  • --show-no-spaces β€” don't color whitespace-only changes. quiet luxury. ✨
  • --tabsize=TABSIZE β€” tab stop spacing. yes the tabs matter. the tabs always matter. πŸ“
  • -t, --truncate β€” truncate long lines instead of wrapping them. sometimes you just gotta cut it off. βœ‚οΈ
  • -u, --patch β€” generate patch. and get this: this is always true, and it only exists for compatibility. it's a decorative option, bestie. it's doing nothing but looking pretty. πŸ’…
  • -U NUM, --unified=NUM, --numlines=NUM β€” how many lines of context to print. can't be combined with --whole-file. pick your fighter. πŸ”₯
  • -W, --whole-file β€” show the whole file instead of just changed lines and context. go big or go home. πŸ‘‘
  • -P, --permissions β€” compare the file permissions as well as the content of the file. yes, we're checking the vibes and the paperwork. πŸ“‹
  • --strip-trailing-cr β€” strip any trailing carriage return at the end of an input line. bye bye \r, we will not miss you. πŸ’€
  • --color-map=COLOR_MAP β€” choose which colors are used for which items. the default is:
--color-map='add:green_bold,change:yellow_bold,description:blue,line-numbers:white,meta:magenta,permissions:yellow,separator:blue,subtract:red_bold'

you don't have to override all of them, so you can just do a little touch-up like:

'--colormap=separator:white,description:cyan

✨ custom palette, custom era. ✨

  • --is-git-diff β€” show the real file name when displaying git-diff result. no more mystery meat filenames. 🧚
  • -x PAT, --exclude=PAT β€” exclude files that match PAT. not today, not ever, blocked. 🚫

🌟 friendly reminder from your girl: --exclude-lines and --line-numbers are not compatible, and -U/--unified/--numlines can't be combined with --whole-file. respect the boundaries bestie, they're there for a reason. πŸ’–

and that's the whole page, bestie!! you ate this. go diff something beautiful. πŸŒΈπŸ’…

this was icdiff version 2.0.10, dated February 2026, brought to you by the User Commands section of the manual. mwah. 😘

πŸ“¦ where this page comes from