7 tigrc - Tig configuration file
13 _______________________________________________________________________
14 *set* 'variable' *=* 'value'
15 *bind* 'keymap' 'key' 'action'
16 *color* 'area' 'fgcolor' 'bgcolor' '[attributes]'
18 _______________________________________________________________________
24 You can permanently set an option by putting it in the `~/.tigrc` file. The
25 file consists of a series of 'commands'. Each line of the file may contain
26 only one command. Commands can span multiple lines if each line is
27 terminated by a backslash ('\') character.
29 The hash mark ('#') is used as a 'comment' character. All text after the
30 comment character to the end of the line is ignored. You can use comments to
31 annotate your initialization file.
36 Alternatively to using `~/.tigrc`, Tig options can be set by putting them in
37 one of the Git configuration files, which are read by Tig on startup. See
38 'git-config(1)' for which files to use. The following example show the basic
39 syntax to use for settings, bindings and colors.
41 --------------------------------------------------------------------------
42 [tig] show-rev-graph = true
43 [tig "color"] cursor = yellow red bold
44 [tig "bind"] generic = P parent
45 --------------------------------------------------------------------------
47 In addition to tig-specific options, the following Git options are read from
48 the Git configuration:
52 Colors for the various UI types. Can be configured via the 'git-colors'
57 The width of the commit ID. See also 'id-width' option.
61 The editor command. Can be overridden by setting GIT_EDITOR.
65 The path to the root of the working tree.
69 The encoding to use for displaying of file content.
71 'i18n.commitencoding'::
73 The encoding used for commits. The default is UTF-8.
78 A few selective variables can be configured via the set command. The syntax
82 *set* variables *=* value
86 --------------------------------------------------------------------------
87 set commit-order = topo # Order commits topologically
88 set git-colors = no # Do not read Git's color settings.
89 set horizontal-scroll = 33% # Scroll 33% of the view width
90 set blame-options = -C -C -C # Blame lines from other files
92 # Wrap branch names with () and tags with <>
93 set reference-format = (branch) <tag>
95 # Configure blame view columns using command spanning multiple lines.
101 line-number:yes,interval=5 text
102 --------------------------------------------------------------------------
104 Or in the Git configuration files:
106 --------------------------------------------------------------------------
108 line-graphics = no # Disable graphics characters
109 tab-size = 8 # Number of spaces per tab
110 --------------------------------------------------------------------------
112 The type of variables is either bool, int, string, or mixed.
116 To set a bool variable to true use either "1", "true", or "yes".
117 Any other value will set the variable to false.
121 A non-negative integer.
123 Valid string values::
125 A string of characters. Optionally, use either ' or " as delimiters.
129 These values are composites of the above types. The valid values are
130 specified in the description.
135 The following variables can be set:
137 'diff-options' (string)::
139 A space separated string of diff options to use in the diff view.
140 git-show(1) is used for formatting and always passes --patch-with-stat.
141 This option overrides any options specified in the TIG_DIFF_OPTS
142 environment variable (described in manpage:tig[1]), but is itself
143 overridden by diff flags given on the command line invocation.
145 'blame-options' (string)::
147 A space separated string of extra blame options. Can be used for
148 telling git-blame(1) how to detect the origin of lines. The value
149 is ignored when Tig is started in blame mode and given blame options
152 'reference-format' (string)::
154 A space separated string of format strings used for formatting reference
155 names. Wrap the name of the reference type with the characters you would
156 like to use for formatting, e.g. `[tag]` and `<remote>`. If no format is
157 specified for `local-tag`, the format for `tag` is used. Similarly, if no
158 format is specified for `tracked-remote` the `remote` format is used.
159 Prefix with `hide:` to not show that reference type, e.g. `hide:remote`.
160 Supported reference types are:
161 - head : The current HEAD.
162 - tag : A signed tag.
163 - local-tag : An unsigned tag.
165 - tracked-remote : The remote tracked by current HEAD.
166 - replace : A replaced reference.
167 - branch : Any other reference.
169 'line-graphics' (mixed) [ascii|default|utf-8|<bool>]::
171 What type of character graphics for line drawing.
173 'horizontal-scroll' (mixed)::
175 Interval to scroll horizontally in each step. Can be specified either
176 as the number of columns, e.g. '5', or as a percentage of the view
177 width, e.g. '33%', where the maximum is 100%. For percentages it is
178 always ensured that at least one column is scrolled. The default is to
179 scroll '50%' of the view width.
181 'git-colors' (list)::
183 A space separated list of "key=value" pairs where the key is a Git color
184 name and the value is a Tig color name, e.g. "branch.current=main-head"
185 and "grep.filename=grep.file". Set to "no" to disable.
187 'show-notes' (mixed) [<reference>|<bool>]::
189 Whether to show notes for a commit. When set to a note reference the
190 reference is passed to `git show --notes=`. Notes are enabled by
193 'show-changes' (bool)::
195 Whether to show staged and unstaged changes in the main view.
197 'vertical-split' (mixed) [auto|<bool>]::
199 Whether to split the view horizontally or vertically.
200 "auto" (which is the default) means that it will depend on the window
201 dimensions. When true vertical orientation is used, and false sets the
202 orientation to horizontal.
204 'split-view-height' (mixed)::
206 Height of the lower view in a split view. Can be specified either as
207 the number of rows, e.g. '5', or as a percentage of the view height,
208 e.g. '80%', where the maximum is 100%. It is always ensured that the
209 smaller of the views is at least four rows high. The default is a view
212 'status-untracked-dirs' (bool)::
214 Show untracked directories contents in the status view (analog to
215 `git ls-files --directory` option). On by default.
219 Number of spaces per tab. The default is 8 spaces.
221 'diff-context' (int)::
223 Number of context lines to show for diffs.
225 'ignore-space' (mixed) [no|all|some|at-eol|<bool>]::
227 Ignore space changes in diff view. By default no space changes are
228 ignored. Changing this to "all", "some" or "at-eol" is equivalent to
229 passing "--ignore-all-space", "--ignore-space" or
230 "--ignore-space-at-eol" respectively to `git diff` or `git show`.
232 'commit-order' (mixed) [default|topo|date|author-date|reverse|<bool>]::
234 Commit ordering using the default (chronological reverse) order,
235 topological order, date order or reverse order. The default order is
236 used when the option is set to false, and topo order when set to true.
238 'ignore-case' (bool)::
240 Ignore case in searches. By default, the search is case sensitive.
242 'wrap-lines' (bool)::
244 Wrap long lines. By default, lines are not wrapped.
245 Not compatible with line numbers enabled.
247 'focus-child' (bool)::
249 Whether to focus the child view when it is opened. When disabled the
250 focus will remain in the parent view, avoiding reloads of the child
251 view when navigating the parent view. True by default.
253 'editor-line-number' (bool)::
255 Whether to pass the selected line number to the editor command. The
256 line number is passed as `+<line-number>` in front of the file name.
257 Example: `vim +10 tig.c`
261 Whether to enable mouse support. Off by default since it makes selecting
262 text from the terminal less intuitive. When enabled hold down Shift (or
263 Option on Mac) to select text. Mouse support requires that ncurses
264 itself support mouse events.
266 'mouse-scroll' (int)::
268 Interval to scroll up or down using the mouse. The default is 3 lines.
269 Mouse support requires that ncurses itself support mouse events and that
270 you have enabled mouse support in ~/.tigrc with `set mouse = true`.
272 'refresh-mode' (mixed) [manual|auto|after-command|periodic|<bool>]::
274 Configures how views are refreshed based on modifications to watched
275 files in the repository. When set to 'manual', nothing is refreshed
276 automatically. When set to 'auto', views are refreshed when a
277 modification is detected. When set to 'after-command' only refresh after
278 returning from an external command. When set to 'periodic', visible
279 views are refreshed periodically using 'refresh-interval'.
281 'refresh-interval' (int)::
283 Interval in seconds between view refresh update checks when
284 'refresh-mode' is set to 'periodic'.
289 The view settings define the order and options for the different columns of a
290 view. Each view setting expects a space separated list of column specifications.
291 Column specifications starts with the column type, and can optionally be
292 followed by a colon (`:`) and a list of column options. E.g. the following
293 column specification defines an 'author' column displaying the author email and
294 with a maximum width of 20 characters: `author:email,width=20`.
296 The first option value in a column specification is always the 'display' option.
297 When no 'display' value is given, 'yes' is assumed. For 'display' options
298 expecting an enumerated value this will automatically resolve to the default
299 enum value. For example, `file-name` will automatically have its 'display'
300 setting resolve to 'auto'.
303 --------------------------------------------------------------------------
304 # Enable both ID and line numbers in the blame view
305 set blame-view = date:default author:full file-name:auto id:yes,color \
306 line-number:yes,interval=5 text
308 # Change grep view to be similar to `git grep` format
309 set grep-view = file-name:yes line-number:yes,interval=1 text
311 # Show file sizes as units
312 set tree-view = line-number:no,interval=5 mode author:full \
313 file-size:units date:default id:no file-name
315 # Show line numbers for every 10th line in the pager view
316 set pager-view = line-number:yes,interval=10 text
317 --------------------------------------------------------------------------
319 The following list shows which the available view settings and what column types
322 blob-view, diff-view, log-view, pager-view, stage-view:: line-number, text
323 blame-view:: author, date, file-name, id, line-number, text
324 grep-view:: file-name, line-number, text
325 main-view:: author, date, commit-title, id, line-number
326 refs-view:: author, date, commit-title, id, line-number, ref
327 stash-view:: author, date, commit-title, id, line-number
328 status-view:: file-name, line-number, status
329 tree-view:: author, date, id, file-name, file-size, line-number, mode
331 Supported column types and their respective column options:
335 - 'display' (mixed) [full|abbreviated|email|email-user|<bool>]: How to
336 display author names. If set to "abbreviated" author initials will be
338 - 'width' (int): Width of the column. When set to 5 or below, the author
339 name will be abbreviated to the author's initials. When set to zero,
340 the width is automatically sized to fit the content.
343 - 'graph' (bool): Whether to show revision graph in the main view on
344 start-up. See also the 'line-graphics' options.
345 - 'refs' (bool): Whether to show references (branches, tags, and
346 remotes) in the main view. Can be toggled.
347 - 'overflow' (bool or int): Whether to highlight text in commit titles
348 exceeding a given width. When set to a boolean, it enables or disables
349 the highlighting using the default width of 50 character. When set to
350 an int, the assigned value is used as the maximum character width.
353 - 'display' (mixed) [relative|short|default|local|<bool>]: How to
354 display dates. If set to "relative" a relative date will be used, e.g.
355 "2 minutes ago". If set to "short" no time information is shown. If
356 set to "local", localtime(3) is used.
357 - 'width' (int): Width of the column. When set to zero, the width is
358 automatically sized to fit the content.
361 - 'display' (mixed) [auto|always|<bool>]: When to display file names.
362 If set to "auto" file names are shown only when needed, e.g. when
363 running: tig blame -C <file>.
364 - 'width' (int): Width of the column. When set to zero, the width is
365 automatically sized to fit the content.
368 - 'display' (mixed) [default|units|<bool>]: How to display file sizes.
369 When set to "units", sizes are shown using binary prefixes, e.g. 12524
370 bytes is shown as "12.2K".
371 - 'width' (int): Width of the filename column. When set to zero, the
372 width is automatically sized to fit the content.
375 - 'display' (bool): Whether to show commit IDs in the main view.
376 - 'width' (int) : Width of the commit ID. When unset Tig will use the
377 value of 'core.abbrev' if found. See git-config(1) on how to set
378 'core.abbrev'. When set to zero the width is automatically sized to
379 fit the content of reflog (e.g. `ref/stash@{4}`) IDs and otherwise
383 - 'display' (bool): Whether to show line numbers.
384 - 'interval' (int): Interval between line numbers.
385 - 'width' (int): Width of the column. When set to zero, the width is
386 automatically sized to fit the content.
389 - 'display' (bool): Whether to show file modes.
390 - 'width' (int): Width of the column. When set to zero, the width is
391 automatically sized to fit the content.
394 - 'display' (bool): Whether to show the reference name.
395 - 'width' (int): Width of the column. When set to zero, the width is
396 automatically sized to fit the content.
399 - 'display' (mixed) [no|short|long|<bool>]: How to display the status
401 - 'width' (int): Width of the column. When set to zero, the width is
402 automatically sized to fit the content.
405 - 'commit-title-overflow' (bool or int): Whether to highlight commit
406 titles exceeding a given width in the diff view. When set to a
407 boolean, it enables or disables the highlighting using the default
408 width of 50 character. When set to an int, the assigned value is used
409 as the maximum character width.
411 All column options can be toggled. For 'display' options, use the
412 option name as the prefix followed by a dash and the column name. E.g.
413 `:toggle author-display` will toggle the 'display' option in the 'author'
414 column. For all other options use the column name followed by a dash and
415 then the option name as the suffix. E.g. `:toggle commit-title-graph`
416 will toggle the 'graph' option in the 'commit-title' column.
421 Using bind commands, keys can be mapped to an action when pressed in a given
422 key map. The syntax is:
425 *bind* 'keymap' 'key' 'action'
429 --------------------------------------------------------------------------
430 # Add keybinding to quickly jump to the next diff chunk in the stage view
431 bind stage Enter :/^@@
433 # Disable the default mapping for running git-gc
436 # User-defined external command to amend the last commit
437 bind status + !git commit --amend
439 # User-defined internal command that reloads ~/.tigrc
440 bind generic S :source ~/.tigrc
442 # UTF8-encoded characters can be used as key values.
443 bind generic ø @sh -c "printf '%s' %(commit) | pbcopy"
444 --------------------------------------------------------------------------
446 Or in the Git configuration files:
448 --------------------------------------------------------------------------
450 # 'unbind' the default quit key binding
452 # Cherry-pick current commit onto current branch
453 generic = C !git cherry-pick %(commit)
454 --------------------------------------------------------------------------
456 Keys are mapped by first searching the keybindings for the current view, then
457 the keybindings for the *generic* keymap, and last the default keybindings.
458 Thus, the view keybindings override the generic keybindings which override the
459 built-in keybindings.
465 Valid keymaps are: *main*, *diff*, *log*, *help*, *pager*, *status*, *stage*,
466 *tree*, *blob*, *blame*, *refs*, *stash*, *grep* and *generic*. Use *generic*
467 to set key mapping in all keymaps.
471 Key values should never be quoted. Use either an ASCII or UTF8-encoded character
472 or one of the following symbolic key names. Symbolic key names are case
473 insensitive and starts with "<" and ends with ">". Use *<Hash>* to bind to the
474 `#` key, since the hash mark is used as a comment character. Use *<LessThan>* to
477 *<Enter>*, *<Space>*, *<Backspace>*, *<Tab>*, *<Escape>* or *<Esc>*, *<Left>*,
478 *<Right>*, *<Up>*, *<Down>*, *<Insert>* or *<Ins>*, *<Delete>* or *<Del>*,
479 *<Hash>*, *<LessThan>* or *<LT>*, *<Home>*, *<End>*, *<PageUp>* or *<PgUp>*,
480 *<PageDown>* or *<PgDown>*, *<F1>*, *<F2>*, *<F3>*, *<F4>*, *<F5>*, *<F6>*,
481 *<F7>*, *<F8>*, *<F9>*, *<F10>*, *<F11>*, *<F12>*.
483 To define key mappings with the `Ctrl` key, use `<Ctrl-key>`. In addition, key
484 combos consisting of an initial `Escape` key followed by a normal key value can
485 be bound using `<Esc>key`.
489 --------------------------------------------------------------------------
491 bind main <Down> next
492 bind main <Ctrl-f> scroll-page-down
493 bind main <Esc>o options
494 --------------------------------------------------------------------------
496 Note that due to the way ncurses encodes `Ctrl` key mappings, `Ctrl-m` and
497 `Ctrl-i` cannot be bound as they conflict with 'Enter' and 'Tab' respectively.
498 Furthermore, ncurses does not allow to distinguish between `Ctrl-f` and
499 `Ctrl-F`. Finally, `Ctrl-z` is automatically used for process control and will
500 suspend Tig and open a subshell (use `fg` to reenter Tig).
504 Actions are either specified as user-defined commands (external or internal) or
505 using action names as described in the following sections.
509 External user-defined command
510 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
512 These actions start with one or more of the following option flags followed by
513 the command that should be executed.
515 [frame="none",grid="none",cols="25<m,75<"]
516 |=============================================================================
517 |! |Run the command in the foreground with output shown.
518 |@ |Run the command in the background with no output.
519 |? |Prompt the user before executing the command.
520 |< |Exit Tig after executing the command.
521 |=============================================================================
523 Unless otherwise specified, commands are run in the foreground with their
524 console output shown (as if '!' was specified). When multiple command options
525 are specified their behavior are combined, e.g. "?<git commit" will prompt the
526 user whether to execute the command and will exit Tig after completion.
528 Browsing state variables
529 ^^^^^^^^^^^^^^^^^^^^^^^^
531 User-defined commands can optionally refer to Tig's internal state using the
532 following variable names, which are substituted before commands are run:
534 [frame="none",grid="none",cols="25<m,75<"]
535 |=============================================================================
536 |%(head) |The currently viewed 'head' ID. Defaults to HEAD
537 |%(commit) |The currently selected commit ID.
538 |%(blob) |The currently selected blob ID.
539 |%(branch) |The currently selected branch name.
540 |%(remote) |The currently selected remote name. For remote
541 branches %(branch) will contain the branch name.
542 |%(tag) |The currently selected tag name.
543 |%(stash) |The currently selected stash name.
544 |%(directory) |The current directory path in the tree view or
546 |%(file) |The currently selected file.
547 |%(ref) |The reference given to blame or HEAD if undefined.
548 |%(revargs) |The revision arguments passed on the command line.
549 |%(fileargs) |The file arguments passed on the command line.
550 |%(cmdlineargs) |All other options passed on the command line.
551 |%(diffargs) |The diff options from 'diff-options' or 'TIG_DIFF_OPTS'
552 |%(prompt) |Prompt for the argument value. Optionally specify a
553 custom prompt using `"%(prompt Enter branch name: )"`
554 |=============================================================================
558 --------------------------------------------------------------------------
559 # Save save the current commit as a patch file when the user selects a
560 # commit in the main view and presses 'S'.
561 bind main S !git format-patch -1 %(commit)
563 # Create and checkout a new branch; specify custom prompt
564 bind main B ?git checkout -b "%(prompt Enter new branch name: )"
565 --------------------------------------------------------------------------
567 Advanced shell-like commands
568 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
570 If your command requires use of dynamic features, such as subshells,
571 expansion of environment variables and process control, this can be achieved by
572 using a shell command:
574 .Configure a binding to copy the current commit ID to the clipboard.
575 --------------------------------------------------------------------------
576 bind generic I @sh -c "echo -n %(commit) | xclip -selection c"
577 --------------------------------------------------------------------------
579 Or by using a combination of Git aliases and Tig external commands. The
580 following example entries can be put in either the .gitconfig or .git/config
583 .Git configuration which binds Tig keys to Git command aliases.
584 --------------------------------------------------------------------------
586 gitk-bg = !"gitk HEAD --not $(git rev-parse --remotes) &"
587 publish = !"for i in origin public; do git push $i; done"
589 # @-prefix means that the console output will not be shown.
590 generic = V !@git gitk-bg
591 generic = > !git publish
592 --------------------------------------------------------------------------
594 Internal user-defined commands
595 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
597 Actions beginning with a ':' will be run and interpreted as internal commands
598 and act similar to commands run via Tig's prompt. Valid internal commands are
599 configuration file options (as described in this document) and pager view
602 --------------------------------------------------------------------------
603 # Reload ~/.tigrc when 'S' is pressed
604 bind generic S :source .tigrc
606 # Change diff view to show all commit changes regardless of file limitations
607 bind diff F :set diff-options = --full-diff
609 # Show the output of git-reflog(1) in the pager view
610 bind generic W :!git reflog
612 # Search for previous diff (c)hunk and next diff header
614 bind stage D :/^diff --(git|cc)
616 bind main I :toggle show-id # Show/hide the ID column
617 bind diff D :toggle diff-options --minimal # Use minimal diff algorithm
618 bind diff [ :toggle diff-context -3 # Decrease context (-U arg)
619 bind diff ] :toggle diff-context +3 # Increase context
620 bind generic V :toggle split-view-height -10% # Decrease split height
621 --------------------------------------------------------------------------
623 Similar to external commands, pager view commands can contain variable names
624 that will be substituted before the command is run.
629 Valid action names are described below. Note, all action names are
630 case-insensitive, and you may use '-', '_', and '.' interchangeably, e.g.
631 "view-main", "View.Main", and "VIEW_MAIN" are the same.
633 ifndef::DOC_GEN_ACTIONS[]
637 [frame="none",grid="none",cols="25<m,75<"]
638 |=============================================================================
639 |view-main |Show main view
640 |view-diff |Show diff view
641 |view-log |Show log view
642 |view-tree |Show tree view
643 |view-blob |Show blob view
644 |view-blame |Show blame view
645 |view-refs |Show refs view
646 |view-status |Show status view
647 |view-stage |Show stage view
648 |view-stash |Show stash view
649 |view-grep |Show grep view
650 |view-pager |Show pager view
651 |view-help |Show help view
652 |=============================================================================
657 [frame="none",grid="none",cols="25<m,75<"]
658 |=============================================================================
659 |enter |Enter and open selected line
660 |back |Go back to the previous view state
662 |previous |Move to previous
663 |parent |Move to parent
664 |view-next |Move focus to the next view
665 |refresh |Reload and refresh view
666 |maximize |Maximize the current view
667 |view-close |Close the current view
668 |quit |Close all views and quit
669 |=============================================================================
671 View specific actions
672 ^^^^^^^^^^^^^^^^^^^^^
674 [frame="none",grid="none",cols="25<m,75<"]
675 |=============================================================================
676 |status-update |Stage/unstage chunk or file changes
677 |status-revert |Revert chunk or file changes
678 |status-merge |Merge file using external tool
679 |stage-update-line |Stage/unstage single line
680 |stage-split-chunk |Split current diff chunk
681 |=============================================================================
686 [frame="none",grid="none",cols="25<m,75<"]
687 |=============================================================================
688 |move-up |Move cursor one line up
689 |move-down |Move cursor one line down
690 |move-page-down |Move cursor one page down
691 |move-page-up |Move cursor one page up
692 |move-first-line |Move cursor to first line
693 |move-last-line |Move cursor to last line
694 |=============================================================================
699 [frame="none",grid="none",cols="25<m,75<"]
700 |=============================================================================
701 |scroll-line-up |Scroll one line up
702 |scroll-line-down |Scroll one line down
703 |scroll-page-up |Scroll one page up
704 |scroll-page-down |Scroll one page down
705 |scroll-first-col |Scroll to the first line columns
706 |scroll-left |Scroll two columns left
707 |scroll-right |Scroll two columns right
708 |=============================================================================
713 [frame="none",grid="none",cols="25<m,75<"]
714 |=============================================================================
715 |search |Search the view
716 |search-back |Search backwards in the view
717 |find-next |Find next search match
718 |find-prev |Find previous search match
719 |=============================================================================
724 In addition to the actions below, options can also be toggled with the
725 `:toggle` prompt command.
727 [frame="none",grid="none",cols="25<m,75<"]
728 |=============================================================================
729 |options |Open the options menu
730 |=============================================================================
735 [frame="none",grid="none",cols="25<m,75<"]
736 |=============================================================================
737 |edit |Open in editor
738 |prompt |Open the prompt
739 |screen-redraw |Redraw the screen
740 |stop-loading |Stop all loading views
741 |show-version |Show version information
743 |=============================================================================
744 endif::DOC_GEN_ACTIONS[]
749 Color commands control highlighting and the user interface styles. If your
750 terminal supports color, these commands can be used to assign foreground and
751 background combinations to certain areas. Optionally, an attribute can be
752 given as the last parameter. The syntax is:
755 *color* 'area' 'fgcolor' 'bgcolor' '[attributes]'
759 ------------------------------------------------------------------------------
760 # Override the default terminal colors to white on black.
761 color default white black
763 color diff-header yellow default
764 color diff-index blue default
765 color diff-chunk magenta default
766 color "Reported-by:" green default
767 # View specific color
768 color tree.date black cyan bold
769 --------------------------------------------------------------------------
771 Or in the Git configuration files:
773 --------------------------------------------------------------------------
775 # A strange looking cursor line
776 cursor = red default underline
778 title-blur = white blue
779 title-focus = white blue bold
780 # View specific color
782 date = cyan default bold
783 ------------------------------------------------------------------------------
787 Can be either a built-in area name or a custom quoted string. The
788 latter allows custom color rules to be added for lines matching a
790 Valid built-in area names are described below. Note, all names are
791 case-insensitive, and you may use '-', and '_' interchangeably,
792 e.g. "Diff-Header" and "DIFF_HEADER" are the same.
793 View specific colors can be defined by prefixing the view name to
794 the area name, e.g. "stage.diff-chunk" and "diff.diff-chunk".
798 Valid colors include: *white*, *black*, *green*, *magenta*, *blue*,
799 *cyan*, *yellow*, *red*, *default*. Use *default* to refer to the
800 default terminal colors, for example, to keep the background
801 transparent when you are using a terminal with a transparent
804 Colors can also be specified using the keywords *color0*, *color1*, ...,
805 *colorN-1* (where *N* is the number of colors supported by your terminal).
806 This is useful when you remap the colors for your display or want to enable
807 colors supported by 88-color and 256-color terminals. Note that the 'color'
808 prefix is optional. If you prefer, you can specify colors directly by their
809 numbers *0*, *1*, ..., *N-1* instead, just like in the configuration file of
814 Valid attributes include: *normal*, *blink*, *bold*, *dim*, *reverse*,
815 *standout*, and *underline*. Note, not all attributes may be supported
821 The colors and attributes to be used for the text that is not highlighted or
822 that specify the use of the default terminal colors can be controlled by
823 setting the *default* color option.
826 [frame="none",grid="none",cols="25<m,75<"]
827 |=============================================================================
828 |default |Override default terminal colors (see above).
829 |cursor |The cursor line.
830 |status |The status window showing info messages.
831 |title-focus |The title window for the current view.
832 |title-blur |The title window of any backgrounded view.
833 |delimiter |Delimiter shown for truncated lines.
834 |header |The view header lines. Use 'status.header' to color
835 the staged, unstaged, and untracked sections in the
836 status view. Use 'help.header' to color the keymap
837 sections in the help view.
838 |line-number |Line numbers.
840 |date |The commit date.
841 |author |The commit author.
842 |mode |The file mode holding the permissions and type.
843 |overflow |Title text overflow.
844 |directory |The directory name.
845 |file |The file name.
846 |file-size |File size.
847 |=============================================================================
850 [frame="none",grid="none",cols="25<m,75<"]
851 |=============================================================================
852 |graph-commit |The commit dot in the revision graph.
853 |palette-[0-6] |7 different colors,
854 used for distinguishing branches or commits.
855 example: palette-0 = red
856 |main-commit |The commit comment.
857 |main-head |Label of the current branch.
858 |main-remote |Label of a remote.
859 |main-tracked |Label of the remote tracked by the current branch.
860 |main-tag |Label of a signed tag.
861 |main-local-tag |Label of a local tag.
862 |main-ref |Label of any other reference.
863 |main-replace |Label of replaced reference.
864 |=============================================================================
867 [frame="none",grid="none",cols="25<m,75<"]
868 |=============================================================================
869 |stat-none |Empty status label.
870 |stat-staged |Status flag of staged files.
871 |stat-unstaged |Status flag of unstaged files.
872 |stat-untracked |Status flag of untracked files.
873 |=============================================================================
876 [frame="none",grid="none",cols="25<m,75<"]
877 |=============================================================================
878 |help-group |Help group name.
879 |help-action |Help action name.
880 |=============================================================================
889 Options concerning diff start, chunks and lines added and deleted.
891 *diff-header*, *diff-chunk*, *diff-add*, *diff-add2*, *diff-del*,
894 Enhanced Git diff markup::
896 Extra diff information emitted by the Git diff machinery, such as mode
897 changes, rename detection, and similarity.
899 *diff-oldmode*, *diff-newmode*, *diff-copy-from*, *diff-copy-to*,
900 *diff-similarity*, *diff-index*
902 Pretty print commit headers::
904 Commit diffs and the revision logs are usually formatted using pretty printed
905 headers , unless `--pretty=raw` was given. This includes lines, such as merge
906 info, commit ID, and author and committer date.
908 *pp-refs*, *pp-reflog*, *pp-reflogmsg*, *pp-merge*
912 Usually shown when `--pretty=raw` is given, however 'commit' is pretty much
915 *commit*, *parent*, *tree*, *author*, *committer*
919 `Signed-off-by`, `Acked-by`, `Reviewed-by` and `Tested-by` lines are colorized.
920 Characters in the commit title exceeding a predefined width can be highlighted.
925 Colors for information of the tree view.
927 *tree-dir*, *tree-file*
934 Source commands make it possible to read additional configuration files.
935 Sourced files are included in-place, meaning when a 'source' command is
936 encountered the file will be immediately read. Any commands later in the
937 current configuration file will take precedence. The syntax is:
944 --------------------------------------------------------------------------
945 source ~/.tig/colorscheme.tigrc
946 source ~/.tig/keybindings.tigrc
947 --------------------------------------------------------------------------
951 Copyright (c) 2006-2014 Jonas Fonseca <jonas.fonseca@gmail.com>
953 This program is free software; you can redistribute it and/or modify
954 it under the terms of the GNU General Public License as published by
955 the Free Software Foundation; either version 2 of the License, or
956 (at your option) any later version.
960 ifndef::backend-docbook[]
961 link:tig.1.{docext}[tig(1)],
962 link:manual.{docext}[the Tig manual],
963 endif::backend-docbook[]
964 ifdef::backend-docbook[]
966 manpage:tigmanual[7],
967 endif::backend-docbook[]
968 git(7), git-config(1)