diffuse(1)

NAME

diffuse - graphical tool for merging and comparing text files

SYNOPSIS

diffuse [-h | -? | --help | -v | --version]
diffuse [--no-rcfile | --rcfile file] [[option...] | [file...]...]

DESCRIPTION

Diffuse is a graphical tool for merging and comparing text files.
Diffuse is able to compare an arbitrary number of files side-by-side
and gives users the ability to manually adjust line-matching and
directly edit files. Diffuse can also retrieve revisions of files from bazaar, CVS, darcs, git, mercurial, monotone, and subversion
repositories for comparison and merging.

OPTIONS

Help Options
If a help option is specified, it must be the only argument specified
on the command line. Diffuse will immediately quit after displaying the help information.
-h, -?, --help
Display usage information.
-v, --version
Display version number and copyright information.
Configuration Options
If a configuration option is specified, it must be the first argument
specified on the command line.
--no-rcfile
Do not read the system wide initialisation file /etc/diffuserc and personal initialisation file ~/.diffuse/diffuserc.
--rcfile file
Read initialisation commands from file file instead of the system wide initialisation file /etc/diffuserc and personal initialisation file ~/.diffuse/diffuserc.
General Options
-e, --encoding codec
Use codec to read and write files.
-r, --revision rev
Include revision rev of the next file named in the command line arguments in a file comparison tab.
-s, --separate
Open all remaining files specified in the command line arguments in separate file comparison tabs.
-t, --tab label
Start a new tab called label for any remaining files named in the command line arguments.

FILE COMPARISON

Use the File -> New 2-Way File Merge and File -> New 3-Way File Merge
menu items to create additional tabs for comparing text files.
Comparing
Diffuse displays files side-by-side inserting gaps to align similar
lines of text. Differences are highlighted with a different background colour. The mouse pointer or keyboard can be used to manually align
lines of text from neighbouring files. To aligning lines of text using the mouse pointer, select a line of text with the left mouse button,
right click on a line of text from a neighbouring file, and choose
"Align to Selection". To align lines of text using the keyboard, move
the selection with the cursor keys, press the space bar to pick the
current line of text, move the selection with the cursor keys to a line of text in a neighbouring file, and press the space bar to pick the
target line of text. Pressing the escape key will cancel the operation.
Editing
Press the enter key or double click on a text area to enter text
editing mode. Diffuse will identify differences in neighbouring files
during editing and highlight modified lines. Press the escape key or
click on another file´s text area using the left mouse button to leave editing mode.
Merging
Use the difference buttons to navigate blocks of differences within a
file. Use the merge buttons to copy blocks of text into the selected
range of lines. The revert tool will undo all changes to the selected
lines regardless of the order they were made.

RESOURCES

Diffuse reads commands from the system wide initialisation file
/etc/diffuserc and personal initialisation file ~/.diffuse/diffuserc. A Bourne shell-like lexical analyser is used to parse initialisation
commands. Comments and special characters can be embedded using the
same method manner used in Bourne shell scripts.
General
import file
Processes initialisation commands from file. Initialisation files will only be processed once.
Key Bindings
keybinding context action key_combination
Binds a key combination to action when used in context. Specify Shift and Control modifiers by prepending Shift+ and Ctrl+ to key_combination respectively. Keys normally modified by the Shift key should be specified using their modified value if
key_combination involves the Shift key. For example, Ctrl+g and Shift+Ctrl+G. Remove bindings for key_combination by specifying None for the action.
Menu Item Key Bindings
Use menu for the context to define key bindings for menu items. The following values are valid for action:
open_file
File -> Open File... menu item
reload_file
File -> Reload File menu item
save_file
File -> Save File menu item
save_file_as
File -> Save File As... menu item
new_2_way_file_merge
File -> New 2-Way File Merge menu item
new_3_way_file_merge
File -> New 3-Way File Merge menu item
quit
File -> Quit menu item
undo
Edit -> Undo menu item
redo
Edit -> Redo menu item
cut
Edit -> Cut menu item
copy
Edit -> Copy menu item
paste
Edit -> Paste menu item
select_all
Edit -> Select All menu item
find
Edit -> Find... menu item
find_next
Edit -> Find Next menu item
find_previous
Edit -> Find Previous menu item
no_syntax_highlighting
View -> Syntax Highlighting -> None menu item
syntax_highlighting_syntax
View -> Syntax Highlighting -> syntax menu item
previous_tab
View -> Previous Tab menu item
next_tab
View -> Next Tab menu item
preferences
View -> Preferences menu item
realign_all
Merge -> Realign All menu item
first_difference
Merge -> First Difference menu item
previous_difference
Merge -> Previous Difference menu item
next_difference
Merge -> Next Difference menu item
last_difference
Merge -> Last Difference menu item
revent
Merge -> Revert menu item
merge_from_left
Merge -> Merge From Left menu item
merge_from_right
Merge -> Merge From Right menu item
isolate
Merge -> Isolate menu item
help_contents
Help -> Help Contents menu item
about
Help -> About menu item
Line Editing Mode Key Bindings
Use line_mode for the context to define key bindings for line editing mode. The following values are valid for action:
enter_align_mode
enter alignment editing mode
enter_character_mode
enter character editing mode
up
move cursor up one line
extend_up
move cursor up one line, extending the selection
down
move cursor down one line
extend_down
move cursor down one line, extending the selection
left
move cursor left one file
extend_left
move cursor left one file, extending the selection
right
move cursor right one file
extend_right
move cursor right one file, extending the selection
page_up
move cursor up one page
extend_page_up
move cursor up one page, extending the selection
page_down
move cursor down one page
extend_page_down
move cursor down one page, extending the selection
delete_text
delete the selected text
merge_from_left
merge lines from file on the left
merge_from_right
merge lines from file on the right
first_difference
select the first difference
previous_difference
select the previous difference
next_difference
select the next difference
last_difference
select the last difference
isolate
isolate the selected lines
Alignment Editing Mode Key Bindings
Use align_mode for the context to define key bindings for alignment editing mode. The following values are valid for
action:
enter_line_mode
enter line editing mode
enter_character_mode
enter character editing mode
up
move cursor up one line
down
move cursor down one line
left
move cursor left one file
right
move cursor right one file
page_up
move cursor up one page
page_down
move cursor down one page
align
align the selected line to the cursor position
Character Editing Mode Key Bindings
Use character_mode for the context to define key bindings for character editing mode. The following values are valid for
action:
enter_line_mode
enter line editing mode
Strings
string name value
Declares a string resource called name with value value.
Used String Resources
The following string resources are used by Diffuse:
auto_detect_encodings
a list of encodings to try when attempting to identify a
file´s encoding
character_classes
describes mapping used to identify characters of a similar
class for selection when double clicking
This resource is a series of range:value pairs. The range is either a single number or low-high corresponding to the code for the character or characters to be set. Neighbouring
characters that map to the same value will be selected as a group when double clicking on a word.
bzr_bin
executable used to query bazaar repositories
bzr_default_revision
default revision to retrieve from bazaar repositories for
comparison
cvs_bin
executable used to query CVS repositories
cvs_default_revision
default revision to retrieve from CVS repositories for
comparison
darcs_bin
executable used to query darcs repositories
darcs_default_revision
default revision to retrieve from darcs repositories for
comparison
difference_colours
a list of colour resources used to indicate differences
font
font used to render text
git_bin
executable used to query git repositories
git_default_revision
default revision to retrieve from git repositories for
comparison
help_browser
executable used to browse help documentation
help_dir
directory containing the localised help documents
hg_bin
executable used to query mercurial repositories
hg_default_revision
default revision to retrieve from mercurial repositories for comparison
mtn_bin
executable used to query monotone repositories
mtn_default_revision
default revision to retrieve from monotone repositories for comparison
svn_bin
executable used to query subversion repositories
svn_default_revision
default revision to retrieve from subversion repositories
for comparison
Colours
[ colour | color ] name red green blue
Declares a colour resource called name. Individual colour
components should be expressed as a value between 0 and 1.
Used Colour Resources
The following colour resources are used by Diffuse:
align
colour used to indicate a line picked for manual alignment
char_selection
colour used to indicate selected characters
cursor
colour used for the cursor
difference_1
colour used to identify differences between the first pair
of files
difference_2
colour used to identify differences between the second pair of files
difference_3
colour used to identify differences between the third pair
of files
hatch
colour used for indicating alignment gaps
line_number
colour used for line numbers
line_number_background
colour of background in line number area
line_selection
colour used to indicate selected lines
modified
colour used to indicate modified lines
text
regular text colour
text_background
colour of background in text area
Floating Point Values
float name value
Declares a floating point resource called name with value value.
Used Floating Point Resources
The following floating point resources are used by Diffuse:
align_alpha
alpha value used when compositing the manual alignment
colour
char_difference_alpha
alpha value used when compositing character difference
colours
char_selection_alpha
alpha value used when compositing the character selection
colour
line_difference_alpha
alpha value used when compositing line difference colours
line_selection_alpha
alpha value used when compositing the line selection colour
modified_alpha
alpha value used when compositing the modified line colour
Syntax Highlighting
syntax name initial_state default_tag
Declares a new syntax style called name. Syntax highlighting uses a simple state machine that transitions between states when certain
patterns are matched. The initial state for the state machine will be initial_state. All characters not matched by a pattern will be tagged as default_tag for highlighting.
syntax_file name pattern
Specifies that files with a name matching pattern should be highlighted using the syntax style called name.
syntax_pattern name initial_state final_state tag pattern
Adds a pattern to the previously declared syntax style. The pattern will only be used to match characters if the state machine is in
the state initial_state. The state machine will transition to final_state if the pattern defined by pattern is matched. All characters matched by the pattern will be tagged as tag for
highlighting.

FILES

/etc/diffuserc
System wide initialisations.
/usr/share/diffuse/syntax/*.syntax
Syntax files for various languages.
~/.diffuse/config
Data persistent across sessions.
~/.diffuse/diffuserc
Your initialisations.
~/.diffuse/prefs
Your saved preferences.

AUTHOR

Diffuse was written by Derrick Moser <derrick_moser@yahoo.com>.

COPYRIGHT

© 2006-2008 Derrick Moser. All Rights Reserved.

Diffuse is free software; you may redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the licence, or (at your option) any later version.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout