Sublimerge Pro (2.x) documentation

Configuration

Default key bindings

In file view

  • [ctrl]+[alt]+[d] - display Quick Panel with Sublimerge commands available for current view.

In files diff view

  • [/] - display Differences Navigator
  • [down] - select the next change (only single selection is possible)
  • [up] - select the previous change (only single selection is possible)
  • [left] - merge selected change(s) from right to left
  • [right] - merge selected change(s) from left to right
  • [shift]+[left] - merge all changes from right to left
  • [shift]+[right] - merge all changes from left to right
  • [ctrl]+[enter] - toggle edit mode (if available)

In directories diff view

  • [enter] - enter subdirectory or diff selected text file
  • [down] - select next different file/directory
  • [up] - select previous different file/directory or navigate one level up
  • [right] - apply selected change from left to right
  • [left] - apply selected change from right to left
  • [shift]+[left] - apply all changes from right to left
  • [shift]+[right] - apply all changes from left to right
Important These are the new key bindings which are introduced in version 2.9.0.

Default mouse bindings

Important Since Sublimerge v2.10.2 the Mouse Bindings are optional because they are conflicting with Sublime's multiple selections. You can turn them on manually. See the next chapter for more information.

Files diff view

  • [ctrl]+[alt]+[left click] - select/deselect change block (multiple selection is possible)
  • [ctrl]+[shift]+[left click] - merge selected changes from left to right
  • [ctrl]+[shift]+[right click] - merge selected changes from right to left

Directories diff view

  • [ctrl]+[alt]+[left click] - select/deselect change block
  • [ctrl]+[shift]+[left click] - merge selected changes from left to right
  • [ctrl]+[shift]+[right click] - merge selected changes from right to left

Changing bindings

Key bindings

  • Open Preferences > Package Settings > Sublimerge > Key Bindings - User
  • Copy content from Preferences > Package Settings > Sublimerge > Key Bindings - Default
  • Modify the entries you want and save the file
Important Do not modify Key Bindings - Default file. This file is overwritten each time Sublimerge is upgraded.

Mouse bindings

  • Open Preferences > Package Settings > Sublimerge > Mouse Bindings - User
  • Copy content from Preferences > Package Settings > Sublimerge > Mouse Bindings - Default
  • Modify the entries you want and save the file
Important Do not modify Mouse Bindings - Default file. This file is overwritten each time Sublimerge is upgraded.

Default settings

Just like Key Bindings and Mouse Bindings , configuration options should not be edited in Settings - Default file, otherwise they will be overwritten when Sublimerge is upgraded. To change settings, copy the entries that you want to modify to Settings - User file and edit there.

General

same_syntax_only true
Limits the list of comparable views only to the ones with the same syntax. This applies to Compare to View.. and Compare Selection in Views... commands. Setting this to false will show all opened views in the list.
intelligent_files_sort true
Orders the list of comparable views by file name similarity. This applies to Compare to View.. and Compare Selection in Views... commands. Setting this to false will order the list as the views are ordered in window.
compact_files_list true
Makes the items in the list of comparable views to be displayed in a more compact way where file name and file path are separated. Set this to false if you want the list to contain full file path only.
pause_plugins ["GitGutterEvents", "VcsGutterEvents", "Modific"]
Some plugins, like GitGutter, must be paused in diff view due to some side effects. All pauseable names appears in console while entering diff view in debug mode. This applies to diff view only and does not affect other views.

ST restart may be required for this setting to apply.

custom_comparisons_in_separate_menu false
When set to true, all defined Custom Comparisons will be displayed in a separate menu after pressing [ctrl]+[alt]+[d] under Custom Comparison... option.
debug false
Turns on/off debug mode. In debug mode Sublimerge prints debugging information into console.
shell_fallback_encoding ascii
When VCS-related commands does not work and Sublimerge displays an error message about encoding problems, you may need to set encoding that is compatible with your system's locale.

Diff algorithm

ignore_whitespace false
Defines how to deal with whitespace differences. By default Sublimerge does not ignore whitespaces while comparing files, so each difference in them causes the files to be considered as different.

This setting is a live setting and can be changed while being in diff view via context menu.

ignore_crlf true
Defines how to deal with CR/LF line endings differences. By default Sublimerge ignores line endings, so any differences between them will not cause the files to be considered as different.

This setting is a live setting and can be changed while being in diff view via context menu.

ignore_case false
Defines how to deal with case differences. By default Sublimerge's diff algorithm is case-sensitive. If you want to make it case-insensitive, set this to true.

This setting is a live setting and can be changed while being in diff view via context menu.

intraline_analysis true
Determines whether to perform intraline differences analysis within each of the change blocks. It is only used to mark intraline changes and does not affect general difference analysis. When you work with big files with lots of changes and get performance problems, you can switch this off.

This setting is a live setting and can be changed while being in diff view via context menu.

intraline_analysis_full_text false
Set this to true if you want intraline changes to be found using full-text search instead of simple comparison of adjacent lines. This may be useful when lines are moved. For optimal results, please remember about intraline_changes_threshold setting.
intraline_changes_threshold 60
Ratio, calculated as: (length of changed parts / length of unchanged parts) * 100. When ratio gets greater than this value, intraline changes are not displayed and line is considered as fully replaced rather than modified.
intraline_combine_threshold 3
Makes small spans of unchanged text, with the length lower or equal this value, to be marked as part of intraline change if they appear between two other intraline changes. This eliminates noisy highlights within the line.
separate_missing_blocks false
Produces more change blocks in such a way that all missing lines are turned into new block and separated from change block. This gives you more possible ways to merge changes, but requires you to be more careful. Sometimes you will need to correct the code manually.

This setting is a live setting and can be changed while being in diff view via context menu.

three_way_auto_resolve
A group of settings to configure how to automatically resolve some conflicts in three-way merge. Such conflicts will be marked as regular conflicts, but their gutter icon will be changed from '!' to '?'. Additionally their state will be automatically set to 'resolved' and pre-merged output will contain a text from the best-matching change (according to these settings).
white_space_vs_non_white_space false
A change that contains a text will be used when opposite contains only white-spaces: CR/LF, spaces or tabs.

View panels

view
A group of settings that are built-in and supported by Sublime Text. They will be applied to views used in diff window. More settings can be found in Preferences > Settings - Default.
line_numbers false
Defines whether to display line numbers in gutter. By default set to false because of misleading when displaying missing blocks that spans several lines.
word_wrap false
Defines whether to wrap words when they overflow a line. By default set to false because it solves view scroll sync and readability issues.
scroll_past_end false
Defines whether to allow view area to be scrolled past end. By default set to false because it solves view scroll sync issues.
draw_white_space all
Defines whether to display tabs and spaces. Useful when visually comparing differences.
highlight_line true
Highlights corresponding lines in all diff views.

Diff view

scroll_sync_defer 1
Defines how often (in milliseconds) views scroll should be synchronized. '1' Is the mininum value and is proved to be safe. However if you get stability/performance problems, you should change this to greater value.
full_screen false
Defines whether to open diff view in full screen mode.
toggle_minimap false
Defines whether to toggle Mini Map in diff view.
toggle_menu true
Defines whether to toggle window menu in diff view. This applies to Windows platform only.
toggle_side_bar true
Defines whether to toggle Side Bar in diff view.
auto_select_first false
Defines whether first change block should be automatically selected when entering diff view.
diff_block_draw_outlined true
If false, diff blocks will be filled rather than outlined.
diff_block_changed markup.changed
Color for change blocks. More possible values can be obtained from your current scheme file (.tmTheme)
diff_block_conflict markup.invalid
Color for conflict blocks. More possible values can be obtained from your current scheme file (.tmTheme)
diff_block_inserted markup.inserted
Color for inserted blocks. More possible values can be obtained from your current scheme file (.tmTheme)
diff_block_deleted markup.deleted
Color for removed blocks. More possible values can be obtained from your current scheme file (.tmTheme)
diff_block_intraline markup.changed
Fill color for intraline changes. More possible values can be obtained from your current scheme file (.tmTheme)
diff_block_missing comment
Fill color for missing blocks. More possible values can be obtained from your current scheme file (.tmTheme)
diff_block_selected selection
Fill color for selected blocks. More possible values can be obtained from your current scheme file (.tmTheme)
diff_block_selected_draw_filled true
Defines how to draw the selected blocks. When set to false, selected blocks are drawn outlined instead of filled. Applicable only when diff_block_draw_outlined is true.
three_way_navigate_all false
Defines how to navigate through changes in three-way diff view. Switch to true if you want to navigate through all changes instead of conflicts only. This can be changed from views' context menu.
three_way_layout 0
Defines layout type for three-way diff view. 0 - three columns (theirs, merged, mine), 1 - two rows (1st divided into two columns: theirs, mine; 2nd - merged output)
three_way_merged_height 40
Defines percentage height of merged pane when three_way_layout = 1
go_to_next_after_merge true
Defines whether should view automatically go to the next change after merging previous one.
summary_panel true
Defines if summary panel should be displayed. This panel shows differences between adjacent lines or currently selected blocks. This is helpful to easily view long lines that are affected by the change.
summary_panel_color_scheme null
Some Sublime themes makes the panel to blend with the diff views. If this is uncomfortable to read, you can fix it by changing the following setting to point to a valid tmTheme file. The idea behind this is to separate the panel visually by changing its background color.

VCS support

vcs_support true
Turns on/off VCS support. Requires Git, Subversion or Mercurial to be installed first.
vcs_discovery_order ['git', 'hg', 'svn']
Defines the order in which VCS should be discovered. This is useful when using multiple VCS setup for a single project. Affects VCS-related commands.

Git

git_executable_path git
Path to git executable. Especially when you are on Windows, you will need to change it to something like C:\\PROGRA~1\\Git\\bin\\git.exe or C:\\PROGRA~2\\Git\\bin\\git.exe
git_log_args --encoding=UTF-8 --no-color
Additional arguments for git log command. You should not remove the default ones unless you are sure. Feel free to add the new ones. This setting is used when retrieving list of revisions.
git_show_args <empty>
Additional arguments for git show command. This setting is used when downloading file revision.
git_global_args -c color.ui=false
Adds default arguments for all Git commands. Primarily used to fix some issues resulting from non-standard Git settings.
git_remove_orig_files_after_merge false
Whether to automatically remove *.orig files generated by Git after completed merge.

Subversion (SVN)

svn_executable_path svn
Path to svn executable. Especially when you are on Windows, you will need to change it.
svn_log_args --stop-on-copy
Additional arguments for svn log command. This setting is used when retrieving list of revisions.
svn_cat_args <empty>
Additional arguments for svn cat command. This setting is used when downloading file revision.
svn_global_args <empty>
Adds default arguments for all Subversion commands.

Mercurial (Hg)

hg_executable_path hg
Path to hg executable. Especially when you are on Windows, you will need to change it.
hg_log_args --encoding=UTF-8
Additional arguments for hg log command. This setting is used when retrieving list of revisions.
hg_cat_args <empty>
Additional arguments for hg cat command. This setting is used when downloading file revision.
hg_global_args <empty>
Adds default arguments for all Mercurial commands.

Directories comparison

dir_compare_date_format %d/%m/%Y %H:%M:%S
Date format to be used to display file/directory modification date and time. More information about date formatting: http://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior
dir_compare_ignore_dirs ['RCS', 'CVS', 'tags', '.git', '.svn', '.hg']
List of directories' names which should be ignored while doing comparison. They will be also ignored while copying.
dir_compare_ignore_files ['.DS_Store', 'Thumbs.db']
List of files' names which should be ignored while doing comparison. They will be also ignored while copying. You can specify wildcards here, i.e. *.tmp.
dir_merge_remove_unmatched false
If a directory exists in both sides and you copy one onto another, Sublimerge, by default, copies all changed or added files from source to target directory. When this setting is true, it will also delete all files that exists in target, but not in source. Use with caution.
dir_compare_navigate_all true
Whether to navigate through all items in directories diff view. If set to false, navigation is possible on modified items only.

Snapshots

snapshots_on_open true
Defines whether to automatically create snapshots when a file is opened.
snapshots_on_save false
Defines whether to automatically create snapshots each time a file is saved.

Syntax specific settings

syntax_specific
This section contains specific settings for various file types. All settings defined here will override the global ones. Syntax name is equal to that displayed in the bottom right corner of editor.

Example:

"syntax_specific": {
    "Python": {
        "ignore_whitespace": false,
        "ignore_crlf": false,
        "view": {
            "draw_white_space": "all"
        }
    }
}
                        
I serve cookies to improve your experience on this website. If you continue without changing your browser settings, I will assume that you accept the cookies. You can change your browser settings at any time.