Question: Say I get a patch created with `git format-patch`. The file is basically a unified diff with some metadata. If I open the file in Vim, I can see which lines have been modified, but I cannot see which *characters* in the changed lines differ. Does anyone know a way (in Vim, or some other free software that runs on Ubuntu) to visualize per-character differences?

A counter example where per-character diff is visualized is when executing `vimdiff a b`.

**update Fri Nov 12 22:36:23 UTC 2010**

[diffpatch is helpful](https://stackoverflow.com/questions/242646/use-vimdiff-with-a-diff-file/244766#244766) for the scenario where you're working with a single file.

**update Thu Jun 16 17:56:10 UTC 2016**

Check out [diff-highlight in git 2.9](https://github.com/blog/2188-git-2-9-has-been-released). This script does *exactly* what I was originally seeking.

Answer: 
In git, you can merge without committing. Merge your patch first, then do:

```
git diff --word-diff-regex=.

```

Note the dot after the equals sign.
After a little research, I notice this question has come up twice recently on the main Vim mailing list. The [NrrwRgn plugin](http://www.vim.org/scripts/script.php?script_id=3075) was mentioned [both](http://thread.gmane.org/gmane.editors.vim/89542/focus=89549) [times](http://thread.gmane.org/gmane.editors.vim/88549/focus=88570) (make two narrow regions and diff them). Using NrrwRgn as described by Christian Brabandt feels more like a workaround than a solution, but maybe that's good enough.

I tried out NrrwRgn and it, together with :diffthis, was indeed useful for illustrating per-character differences within parts of a single file. But it took many keystrokes. My Vimscript is pretty rusty, but it could likely be scripted. Maybe NrrwRgn could be enhanced to provide the desired functionality.

Thoughts?