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_fileFile -> Open File... menu itemreload_fileFile -> Reload File menu itemsave_fileFile -> Save File menu itemsave_file_asFile -> Save File As... menu itemnew_2_way_file_mergeFile -> New 2-Way File Merge menu itemnew_3_way_file_mergeFile -> New 3-Way File Merge menu itemquitFile -> Quit menu itemundoEdit -> Undo menu itemredoEdit -> Redo menu itemcutEdit -> Cut menu itemcopyEdit -> Copy menu itempasteEdit -> Paste menu itemselect_allEdit -> Select All menu itemfindEdit -> Find... menu itemfind_nextEdit -> Find Next menu itemfind_previousEdit -> Find Previous menu itemno_syntax_highlightingView -> Syntax Highlighting -> None menu itemsyntax_highlighting_syntaxView -> Syntax Highlighting -> syntax menu itemprevious_tabView -> Previous Tab menu itemnext_tabView -> Next Tab menu itempreferencesView -> Preferences menu itemrealign_allMerge -> Realign All menu itemfirst_differenceMerge -> First Difference menu itemprevious_differenceMerge -> Previous Difference menu itemnext_differenceMerge -> Next Difference menu itemlast_differenceMerge -> Last Difference menu itemreventMerge -> Revert menu itemmerge_from_leftMerge -> Merge From Left menu itemmerge_from_rightMerge -> Merge From Right menu itemisolateMerge -> Isolate menu itemhelp_contentsHelp -> Help Contents menu itemaboutHelp -> 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_encodingsa list of encodings to try when attempting to identify a
file´s encodingcharacter_classesdescribes mapping used to identify characters of a similar
class for selection when double clickingThis 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_binexecutable used to query bazaar repositoriesbzr_default_revisiondefault revision to retrieve from bazaar repositories for
comparisoncvs_binexecutable used to query CVS repositoriescvs_default_revisiondefault revision to retrieve from CVS repositories for
comparisondarcs_binexecutable used to query darcs repositoriesdarcs_default_revisiondefault revision to retrieve from darcs repositories for
comparisondifference_coloursa list of colour resources used to indicate differencesfontfont used to render textgit_binexecutable used to query git repositoriesgit_default_revisiondefault revision to retrieve from git repositories for
comparisonhelp_browserexecutable used to browse help documentationhelp_dirdirectory containing the localised help documentshg_binexecutable used to query mercurial repositorieshg_default_revisiondefault revision to retrieve from mercurial repositories for comparisonmtn_binexecutable used to query monotone repositoriesmtn_default_revisiondefault revision to retrieve from monotone repositories for comparisonsvn_binexecutable used to query subversion repositoriessvn_default_revisiondefault 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:aligncolour used to indicate a line picked for manual alignmentchar_selectioncolour used to indicate selected characterscursorcolour used for the cursordifference_1colour used to identify differences between the first pair
of filesdifference_2colour used to identify differences between the second pair of filesdifference_3colour used to identify differences between the third pair
of fileshatchcolour used for indicating alignment gapsline_numbercolour used for line numbersline_number_backgroundcolour of background in line number arealine_selectioncolour used to indicate selected linesmodifiedcolour used to indicate modified linestextregular text colourtext_backgroundcolour 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_alphaalpha value used when compositing the manual alignment
colourchar_difference_alphaalpha value used when compositing character difference
colourschar_selection_alphaalpha value used when compositing the character selection
colourline_difference_alphaalpha value used when compositing line difference coloursline_selection_alphaalpha value used when compositing the line selection colourmodified_alphaalpha 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.