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
These are the new key bindings which are introduced in version 2.9.0.
Default mouse bindings
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
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
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"
}
}
}
|