grep: allow to toggle whether to group by file name
[tig.git] / doc / tigrc.5.adoc
blob1aab179f5c60723ff871987e14a2c86541ca1a3e
1 tigrc(5)
2 ========
3 :docext: adoc
5 NAME
6 ----
7 tigrc - Tig configuration file
10 SYNOPSIS
11 --------
12 [verse]
13 _______________________________________________________________________
14 *set*   'variable' *=* 'value'
15 *bind*  'keymap' 'key' 'action'
16 *color* 'area' 'fgcolor' 'bgcolor' '[attributes]'
17 *source* 'path'
18 _______________________________________________________________________
21 DESCRIPTION
22 -----------
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.
28 The hash mark ('#') is used as a 'comment' character. All text after the
29 comment character to the end of the line is ignored. You can use comments to
30 annotate your initialization file.
32 Git configuration
33 -----------------
35 Alternatively to using `~/.tigrc`, Tig options can be set by putting them in
36 one of the Git configuration files, which are read by Tig on startup. See
37 'git-config(1)' for which files to use. The following example show the basic
38 syntax to use for settings, bindings and colors.
40 --------------------------------------------------------------------------
41 [tig] show-rev-graph = true
42 [tig "color"] cursor = yellow red bold 
43 [tig "bind"] generic = P parent
44 --------------------------------------------------------------------------
46 In addition to tig-specific options, the following Git options are read from
47 the Git configuration:
49 'color.*'::
51         Colors for the various UI types. Can be completely disabled by setting
52         'read-git-colors'.
54 'core.abbrev'::
56         The width of the commit ID. See also 'id-width' option.
58 'core.editor'::
60         The editor command. Can be overridden by setting GIT_EDITOR.
62 'core.worktree'::
64         The path to the root of the working tree.
66 'gui.encoding'::
68         The encoding to use for displaying of file content.
70 'i18n.commitencoding'::
72         The encoding used for commits. The default is UTF-8.
74 Set command
75 -----------
77 A few selective variables can be configured via the set command. The syntax
78 is:
80 [verse]
81 *set* variables *=* value
83 Examples:
85 --------------------------------------------------------------------------
86 set show-author = abbreviated   # Show abbreviated author names.
87 set show-date = relative        # Show relative commit date.
88 set show-rev-graph = yes        # Show revision graph?
89 set show-refs = yes             # Show references?
90 set commit-order = topo         # Order commits topologically
91 set read-git-colors = no        # Do not read Git's color settings.
92 set show-line-numbers = no      # Show line numbers?
93 set line-number-interval = 5    # Interval between line numbers
94 set horizontal-scroll = 33%     # Scroll 33% of the view width
95 set blame-options = -C -C -C    # Blame lines from other files
97 # Wrap branch names with () and tags with <>
98 set reference-format = (branch) <tag>
99 --------------------------------------------------------------------------
101 Or in the Git configuration files:
103 --------------------------------------------------------------------------
104 [tig]
105         show-date = yes         # Show commit date?
106         author-width = 10       # Set width of the author column
107         line-graphics = no      # Disable graphics characters
108         tab-size = 8            # Number of spaces per tab
109 --------------------------------------------------------------------------
111 The type of variables is either bool, int, string, or mixed.
113 Valid bool values::
115         To set a bool variable to true use either "1", "true", or "yes".
116         Any other value will set the variable to false.
118 Valid int values::
120         A non-negative integer.
122 Valid string values::
124         A string of characters. Optionally, use either ' or " as delimiters.
126 Valid mixed values::
128         These values are composites of the above types. The valid values are
129         specified in the description.
131 Variables
132 ~~~~~~~~~
134 The following variables can be set:
136 'author-width' (int)::
138         Width of the author column. When set to 5 or below, the author name
139         will be abbreviated to the author's initials. When set to zero, the
140         width is automatically sized to fit the content.
142 'filename-width' (int)::
144         Width of the filename column. When set to zero, the width is
145         automatically sized to fit the content.
147 'id-width' (int)::
149         Width of the commit ID. When unset Tig will use the value of
150         'core.abbrev' if found. See git-config(1) on how to set 'core.abbrev'.
151         When set to zero the width is automatically sized to fit the content of
152         reflog (e.g. `ref/stash@{4}`) IDs and otherwise default to 7.
154 'diff-options' (string)::
156         A space separated string of diff options to use in the diff view.
157         git-show(1) is used for formatting and always passes --patch-with-stat.
158         This option overrides any options specified in the TIG_DIFF_OPTS
159         environment variable (described in manpage:tig[1]), but is itself
160         overridden by diff flags given on the command line invocation.
162 'blame-options' (string)::
164         A space separated string of extra blame options. Can be used for
165         telling git-blame(1) how to detect the origin of lines. The value
166         is ignored when Tig is started in blame mode and given blame options
167         on the command line.
169 'reference-format' (string)::
171         A space separated string of format strings used for formatting reference
172         names. Wrap the name of the reference type with the characters you would
173         like to use for formatting, e.g. `[tag]` and `<remote>`. If no format is
174         specified for `local-tag`, the format for `tag` is used. Similarly, if no
175         format is specified for `tracked-remote` the `remote` format is used.
176         Supported reference types are:
177          - head                 : The current HEAD.
178          - tag                  : A signed tag.
179          - local-tag            : An unsigned tag.
180          - remote               : A remote.
181          - tracked-remote       : The remote tracked by current HEAD.
182          - replace              : A replaced reference.
183          - branch               : Any other reference.
185 'line-graphics' (mixed) [ "ascii" | "default" | "utf-8" | bool]::
187         What type of character graphics for line drawing.
189 'line-number-interval' (int)::
191         Interval between line numbers. Note, you have to toggle on line
192         numbering with ".".  The default is to number every fifth line.
194 'horizontal-scroll' (mixed)::
196         Interval to scroll horizontally in each step. Can be specified either
197         as the number of columns, e.g. '5', or as a percentage of the view
198         width, e.g. '33%', where the maximum is 100%. For percentages it is
199         always ensured that at least one column is scrolled. The default is to
200         scroll '50%' of the view width.
202 'mouse-scroll' (int)::
203         Interval to scroll up or down using the mouse. The default is 3 lines.
204         Mouse support requires that ncurses itself support mouse events and that
205         you have enabled mouse support in ~/.tigrc with `set mouse = true`.
207 'read-git-colors' (bool)::
209         Whether to read Git's color settings. True by default.
211 'show-author' (mixed) ["full", "abbreviated" | "email" | "email-user" | bool]::
213         How to display author names. If set to "abbreviated" author initials
214         will be shown. Can be toggled.
216 'show-filename' (mixed) ["auto" | "always" | bool]::
218         When to display file names. If set to "auto" file names are shown
219         only when needed, e.g. when running: tig blame -C <file>.
221 'show-file-size' (mixed) ["default" | "units" | bool]::
223         How to display file sizes. When set to "units", sizes are shown using
224         binary prefixes, e.g. 12524 bytes is shown as "12.2K". Can be toggled.
226 'show-date' (mixed) ["relative" | "short" | "default" | "local" | bool]::
228         Whether and how to show date. If set to "relative" a relative date will be
229         used, e.g. "2 minutes ago". If set to "short" no time information is
230         shown. If set to "local", localtime(3) is used. Can be toggled.
232 'show-notes' (mixed) [note reference | bool]::
234         Whether to show notes for a commit. When set to a note reference the
235         reference is passed to `git show --notes=`. Notes are enabled by
236         default.
238 'show-refs' (bool)::
240         Whether to show references (branches, tags, and remotes) in the main
241         view on start-up. Can be toggled.
243 'show-id' (bool)::
245         Whether to show commit IDs in the main view. Disabled by default. Can
246         be toggled. See also 'id-width' option.
248 'title-overflow' (mixed) [bool | int]::
250         Whether to highlight text in commit titles exceeding a given width.
251         When set to a boolean, it enables/disables the highlighting using the
252         default width of 50 character. When set to an int, the assigned value
253         is used as the maximum character width.
255 'show-rev-graph' (bool)::
257         Whether to show revision graph in the main view on start-up.
258         Can be toggled. See also line-graphics options.
260 'show-changes' (bool)::
262         Whether to show staged and unstaged changes in the main view.
263         Can be toggled.
265 'show-line-numbers' (bool)::
267         Whether to show line numbers. Can be toggled.
269 'vertical-split' (mixed) ["auto" | bool]::
271         Whether to split the view horizontally or vertically.
272         "auto" (which is the default) means that it will depend on the window
273         dimensions. When true vertical orientation is used, and false sets the
274         orientation to horizontal.
276 'split-view-height' (mixed)::
278         Height of the lower view in a split view. Can be specified either as
279         the number of rows, e.g. '5', or as a percentage of the view height,
280         e.g. '80%', where the maximum is 100%. It is always ensured that the
281         smaller of the views is at least four rows high. The default is a view
282         height of '66%'.
284 'status-untracked-dirs' (bool)::
286         Show untracked directories contents in the status view (analog to
287         `git ls-files --directory` option). On by default.
289 'tab-size' (int)::
291         Number of spaces per tab. The default is 8 spaces.
293 'diff-context' (int)::
295         Number of context lines to show for diffs.
297 'ignore-space' (mixed) ["no" | "all" | "some" | "at-eol" | bool]::
299     Ignore space changes in diff view. By default no space changes are ignored.
300     Changing this to "all", "some" or "at-eol" is equivalent to passing
301     "--ignore-all-space", "--ignore-space" or "--ignore-space-at-eol"
302     respectively to `git diff` or `git show`.
304 'commit-order' (mixed) ["default" | "topo" | "date" | "reverse" | bool]::
306         Commit ordering using the default (chronological reverse) order,
307         topological order, date order or reverse order. The default order is
308         used when the option is set to false, and topo order when set to true.
310 'ignore-case' (bool)::
312         Ignore case in searches. By default, the search is case sensitive.
314 'wrap-lines' (bool)::
316         Wrap long lines. By default, lines are not wrapped.
317         Not compatible with line numbers enabled.
319 'focus-child' (bool)::
321         Whether to focus the child view when it is opened. When disabled the
322         focus will remain in the parent view, avoiding reloads of the child
323         view when navigating the parent view. True by default.
325 'editor-line-number' (bool)::
327         Whether to pass the selected line number to the editor command. The
328         line number is passed as `+<line-number>` in front of the file name.
329         Example: `vim +10 tig.c`
331 'mouse' (bool)::
332         Whether to enable mouse support. Off by default since it makes selecting
333         text from the terminal less intuitive. When enabled hold down Shift (or
334         Option on Mac) to select text. Mouse support requires that ncurses
335         itself support mouse events.
337 Bind command
338 ------------
340 Using bind commands, keys can be mapped to an action when pressed in a given
341 key map. The syntax is:
343 [verse]
344 *bind* 'keymap' 'key' 'action'
346 Examples:
348 --------------------------------------------------------------------------
349 # Add keybinding to quickly jump to the next diff chunk in the stage view
350 bind stage Enter :/^@@
352 # Disable the default mapping for running git-gc
353 bind generic G none
355 # User-defined external command to amend the last commit
356 bind status + !git commit --amend
358 # User-defined internal command that reloads ~/.tigrc
359 bind generic S :source ~/.tigrc
361 # UTF8-encoded characters can be used as key values.
362 bind generic Ã¸ @sh -c "printf '%s' %(commit) | pbcopy"
363 --------------------------------------------------------------------------
365 Or in the Git configuration files:
367 --------------------------------------------------------------------------
368 [tig "bind"]
369         # 'unbind' the default quit key binding
370         main = Q none
371         # Cherry-pick current commit onto current branch
372         generic = C !git cherry-pick %(commit)
373 --------------------------------------------------------------------------
375 Keys are mapped by first searching the keybindings for the current view, then
376 the keybindings for the *generic* keymap, and last the default keybindings.
377 Thus, the view keybindings override the generic keybindings which override the
378 built-in keybindings.
382 Keymaps::
384 Valid keymaps are: *main*, *diff*, *log*, *help*, *pager*, *status*, *stage*,
385 *tree*, *blob*, *blame*, *refs*, *stash*, *grep* and *generic*. Use *generic*
386 to set key mapping in all keymaps.
388 Key values::
390 Key values should never be quoted. Use either an ASCII or UTF8-encoded character
391 or one of the following symbolic key names. Symbolic key names are case
392 insensitive. Use *Hash* to bind to the `#` key, since the hash mark is used as a
393 comment character.
395 *Enter*, *Space*, *Backspace*, *Tab*, *Escape*, *Left*, *Right*, *Up*, *Down*,
396 *Insert*, *Delete*, *Hash*, *Home*, *End*, *PageUp*, *PageDown*, *F1*, *F2*, *F3*,
397 *F4*, *F5*, *F6*, *F7*, *F8*, *F9*, *F10*, *F11*, *F12*.
399 To add a key mapping that uses the `Ctrl` key, use a `^` prefix in your mapping.
400 Similarly, use `^[` to map to keys prefixed by the `Escape` key. Examples:
402 --------------------------------------------------------------------------
403 bind main ^f  scroll-page-down
404 bind main ^[o options
405 --------------------------------------------------------------------------
407 Note that due to the way ncurses encodes `Ctrl` key mappings, `Ctrl-m` and
408 `Ctrl-i` cannot be bound as they conflict with 'Enter' and 'Tab' respectively.
409 Furthermore, ncurses does not allow to distinguish between `Ctrl-f` and
410 `Ctrl-F`. Finally, `Ctrl-z` is automatically used for process control and will
411 suspend Tig and open a subshell (use `fg` to reenter Tig).
413 Actions::
415 Actions are either specified as user-defined commands (external or internal) or
416 using action names as described in the following sections.
420 External user-defined command
421 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
423 These actions start with one or more of the following option flags followed by
424 the command that should be executed.
426 [frame="none",grid="none",cols="25<m,75<"]
427 |=============================================================================
428 |!                      |Run the command in the foreground with output shown.
429 |@                      |Run the command in the background with no output.
430 |?                      |Prompt the user before executing the command.
431 |<                      |Exit Tig after executing the command.
432 |=============================================================================
434 Unless otherwise specified, commands are run in the foreground with their
435 console output shown (as if '!' was specified). When multiple command options
436 are specified their behavior are combined, e.g. "?<git commit" will prompt the
437 user whether to execute the command and will exit Tig after completion.
439 Browsing state variables
440 ^^^^^^^^^^^^^^^^^^^^^^^^
442 User-defined commands can optionally refer to Tig's internal state using the
443 following variable names, which are substituted before commands are run:
445 [frame="none",grid="none",cols="25<m,75<"]
446 |=============================================================================
447 |%(head)                |The currently viewed 'head' ID. Defaults to HEAD
448 |%(commit)              |The currently selected commit ID.
449 |%(blob)                |The currently selected blob ID.
450 |%(branch)              |The currently selected branch name.
451 |%(stash)               |The currently selected stash name.
452 |%(directory)           |The current directory path in the tree view;
453                          empty for the root directory.
454 |%(file)                |The currently selected file.
455 |%(ref)                 |The reference given to blame or HEAD if undefined.
456 |%(revargs)             |The revision arguments passed on the command line.
457 |%(fileargs)            |The file arguments passed on the command line.
458 |%(cmdlineargs)         |All other options passed on the command line.
459 |%(diffargs)            |The diff options from 'diff-options' or 'TIG_DIFF_OPTS'
460 |%(prompt)              |Prompt for the argument value. Optionally specify a
461                          custom prompt using `"%(prompt Enter branch name: )"`
462 |=============================================================================
464 Examples:
466 --------------------------------------------------------------------------
467 # Save save the current commit as a patch file when the user selects a
468 # commit in the main view and presses 'S'.
469 bind main S !git format-patch -1 %(commit)
471 # Create and checkout a new branch; specify custom prompt
472 bind main B ?git checkout -b "%(prompt Enter new branch name: )"
473 --------------------------------------------------------------------------
475 Advanced shell-like commands
476 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
478 If your command requires use of dynamic features, such as subshells,
479 expansion of environment variables and process control, this can be achieved by
480 using a shell command:
482 .Configure a binding to copy the current commit ID to the clipboard.
483 --------------------------------------------------------------------------
484 bind generic I @sh -c "echo -n %(commit) | xclip -selection c"
485 --------------------------------------------------------------------------
487 Or by using a combination of Git aliases and Tig external commands. The
488 following example entries can be put in either the .gitconfig or .git/config
489 file:
491 .Git configuration which binds Tig keys to Git command aliases.
492 --------------------------------------------------------------------------
493 [alias]
494         gitk-bg = !"gitk HEAD --not $(git rev-parse --remotes) &"
495         publish = !"for i in origin public; do git push $i; done"
496 [tig "bind"]
497         # @-prefix means that the console output will not be shown.
498         generic = V !@git gitk-bg
499         generic = > !git publish
500 --------------------------------------------------------------------------
502 Internal user-defined commands
503 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
505 Actions beginning with a ':' will be run and interpreted as internal commands
506 and act similar to commands run via Tig's prompt. Valid internal commands are
507 configuration file options (as described in this document) and pager view
508 commands. Examples:
510 --------------------------------------------------------------------------
511 # Reload ~/.tigrc when 'S' is pressed
512 bind generic S :source .tigrc
514 # Change diff view to show all commit changes regardless of file limitations
515 bind diff F :set diff-options = --full-diff
517 # Show the output of git-reflog(1) in the pager view
518 bind generic W :!git reflog
520 # Search for previous diff (c)hunk and next diff header
521 bind stage 2 :?^@@
522 bind stage D :/^diff --(git|cc)
524 bind main I :toggle show-id                     # Show/hide the ID column
525 bind diff D :toggle diff-options --minimal      # Use minimal diff algorithm
526 bind diff [ :toggle diff-context -3             # Decrese context (-U arg)
527 bind diff ] :toggle diff-context +3             # Increase context
528 bind generic V :toggle split-view-height -10%   # Decrease split height
529 --------------------------------------------------------------------------
531 Similar to external commands, pager view commands can contain variable names
532 that will be substituted before the command is run.
534 Action names
535 ~~~~~~~~~~~~
537 Valid action names are described below. Note, all action names are
538 case-insensitive, and you may use '-', '_', and '.' interchangeably, e.g.
539 "view-main", "View.Main", and "VIEW_MAIN" are the same.
541 ifndef::DOC_GEN_ACTIONS[]
542 View switching
543 ^^^^^^^^^^^^^^
545 [frame="none",grid="none",cols="25<m,75<"]
546 |=============================================================================
547 |view-main               |Show main view
548 |view-diff               |Show diff view
549 |view-log                |Show log view
550 |view-tree               |Show tree view
551 |view-blob               |Show blob view
552 |view-blame              |Show blame view
553 |view-refs               |Show refs view
554 |view-status             |Show status view
555 |view-stage              |Show stage view
556 |view-stash              |Show stash view
557 |view-grep               |Show grep view
558 |view-pager              |Show pager view
559 |view-help               |Show help view
560 |=============================================================================
562 View manipulation
563 ^^^^^^^^^^^^^^^^^
565 [frame="none",grid="none",cols="25<m,75<"]
566 |=============================================================================
567 |enter                   |Enter and open selected line
568 |back                    |Go back to the previous view state
569 |next                    |Move to next
570 |previous                |Move to previous
571 |parent                  |Move to parent
572 |view-next               |Move focus to the next view
573 |refresh                 |Reload and refresh view
574 |maximize                |Maximize the current view
575 |view-close              |Close the current view
576 |quit                    |Close all views and quit
577 |=============================================================================
579 View specific actions
580 ^^^^^^^^^^^^^^^^^^^^^
582 [frame="none",grid="none",cols="25<m,75<"]
583 |=============================================================================
584 |status-update           |Stage/unstage chunk or file changes
585 |status-revert           |Revert chunk or file changes
586 |status-merge            |Merge file using external tool
587 |stage-update-line       |Stage/unstage single line
588 |stage-split-chunk       |Split current diff chunk
589 |=============================================================================
591 Cursor navigation
592 ^^^^^^^^^^^^^^^^^
594 [frame="none",grid="none",cols="25<m,75<"]
595 |=============================================================================
596 |move-up                 |Move cursor one line up
597 |move-down               |Move cursor one line down
598 |move-page-down          |Move cursor one page down
599 |move-page-up            |Move cursor one page up
600 |move-first-line         |Move cursor to first line
601 |move-last-line          |Move cursor to last line
602 |=============================================================================
604 Scrolling
605 ^^^^^^^^^
607 [frame="none",grid="none",cols="25<m,75<"]
608 |=============================================================================
609 |scroll-line-up          |Scroll one line up
610 |scroll-line-down        |Scroll one line down
611 |scroll-page-up          |Scroll one page up
612 |scroll-page-down        |Scroll one page down
613 |scroll-first-col        |Scroll to the first line columns
614 |scroll-left             |Scroll two columns left
615 |scroll-right            |Scroll two columns right
616 |=============================================================================
618 Searching
619 ^^^^^^^^^
621 [frame="none",grid="none",cols="25<m,75<"]
622 |=============================================================================
623 |search                  |Search the view
624 |search-back             |Search backwards in the view
625 |find-next               |Find next search match
626 |find-prev               |Find previous search match
627 |=============================================================================
629 Option manipulation
630 ^^^^^^^^^^^^^^^^^^^
632 In addition to the actions below, options can also be toggled with the
633 `:toggle` prompt command.
635 [frame="none",grid="none",cols="25<m,75<"]
636 |=============================================================================
637 |options                 |Open the options menu
638 |=============================================================================
640 Misc
641 ^^^^
643 [frame="none",grid="none",cols="25<m,75<"]
644 |=============================================================================
645 |edit                    |Open in editor
646 |prompt                  |Open the prompt
647 |screen-redraw           |Redraw the screen
648 |stop-loading            |Stop all loading views
649 |show-version            |Show version information
650 |none                    |Do nothing
651 |=============================================================================
652 endif::DOC_GEN_ACTIONS[]
654 Color command
655 -------------
657 Color commands control highlighting and the user interface styles. If your
658 terminal supports color, these commands can be used to assign foreground and
659 background combinations to certain areas. Optionally, an attribute can be
660 given as the last parameter. The syntax is:
662 [verse]
663 *color* 'area' 'fgcolor' 'bgcolor' '[attributes]'
665 Examples:
667 ------------------------------------------------------------------------------
668 # Override the default terminal colors to white on black.
669 color default           white   black
670 # Diff colors
671 color diff-header       yellow  default
672 color diff-index        blue    default
673 color diff-chunk        magenta default
674 color "Reported-by:"    green   default
675 # View specific color
676 color tree.date         black   cyan    bold
677 --------------------------------------------------------------------------
679 Or in the Git configuration files:
681 --------------------------------------------------------------------------
682 [tig "color"]
683         # A strange looking cursor line
684         cursor          = red   default underline
685         # UI colors
686         title-blur      = white blue
687         title-focus     = white blue    bold
688 # View specific color
689 [tig "color.tree"]
690         date            = cyan  default bold
691 ------------------------------------------------------------------------------
693 Area names::
695         Can be either a built-in area name or a custom quoted string. The
696         latter allows custom color rules to be added for lines matching a
697         quoted string.
698         Valid built-in area names are described below. Note, all names are
699         case-insensitive, and you may use '-', and '_' interchangeably,
700         e.g. "Diff-Header" and "DIFF_HEADER" are the same.
701         View specific colors can be defined by prefixing the view name to
702         the area name, e.g. "stage.diff-chunk" and "diff.diff-chunk".
704 Color names::
706         Valid colors include: *white*, *black*, *green*, *magenta*, *blue*,
707         *cyan*, *yellow*, *red*, *default*. Use *default* to refer to the
708         default terminal colors, for example, to keep the background
709         transparent when you are using a terminal with a transparent
710         background.
712 Colors can also be specified using the keywords *color0*, *color1*, ...,
713 *colorN-1* (where *N* is the number of colors supported by your terminal).
714 This is useful when you remap the colors for your display or want to enable
715 colors supported by 88-color and 256-color terminals. Note that the 'color'
716 prefix is optional. If you prefer, you can specify colors directly by their
717 numbers *0*, *1*, ..., *N-1* instead, just like in the configuration file of
718 Git.
720 Attribute names::
722         Valid attributes include: *normal*, *blink*, *bold*, *dim*, *reverse*,
723         *standout*, and *underline*. Note, not all attributes may be supported
724         by the terminal.
726 UI colors
727 ~~~~~~~~~
729 The colors and attributes to be used for the text that is not highlighted or
730 that specify the use of the default terminal colors can be controlled by
731 setting the *default* color option.
733 .General
734 [frame="none",grid="none",cols="25<m,75<"]
735 |=============================================================================
736 |default                |Override default terminal colors (see above).
737 |cursor                 |The cursor line.
738 |status                 |The status window showing info messages.
739 |title-focus            |The title window for the current view.
740 |title-blur             |The title window of any backgrounded view.
741 |delimiter              |Delimiter shown for truncated lines.
742 |line-number            |Line numbers.
743 |id                     |The commit ID.
744 |date                   |The commit date.
745 |author                 |The commit author.
746 |mode                   |The file mode holding the permissions and type.
747 |overflow               |Title text overflow.
748 |filename               |Filename.
749 |file-size              |File size.
750 |=============================================================================
752 .Main view colors
753 [frame="none",grid="none",cols="25<m,75<"]
754 |=============================================================================
755 |graph-commit           |The commit dot in the revision graph.
756 |palette-[0-6]          |7 different colors,
757 used for distinguishing branches or commits.
758 example: palette-0 = red
759 |main-commit            |The commit comment.
760 |main-head              |Label of the current branch.
761 |main-remote            |Label of a remote.
762 |main-tracked           |Label of the remote tracked by the current branch.
763 |main-tag               |Label of a signed tag.
764 |main-local-tag         |Label of a local tag.
765 |main-ref               |Label of any other reference.
766 |main-replace           |Label of replaced reference.
767 |=============================================================================
769 .Status view
770 [frame="none",grid="none",cols="25<m,75<"]
771 |=============================================================================
772 |stat-head              |The "On branch"-line.
773 |stat-section           |Status section titles,
774 |stat-none              |Empty status label.
775 |stat-staged            |Status flag of staged files.
776 |stat-unstaged          |Status flag of unstaged files.
777 |stat-untracked         |Status flag of untracked files.
778 |=============================================================================
780 .Tree view
781 [frame="none",grid="none",cols="25<m,75<"]
782 |=============================================================================
783 |tree-head              |The "Directory /"-line
784 |tree-dir               |The directory name.
785 |tree-file              |The file name.
786 |=============================================================================
788 .Help view
789 [frame="none",grid="none",cols="25<m,75<"]
790 |=============================================================================
791 |help-keymap            |Keymap name.
792 |help-group             |Help group name.
793 |help-action            |Help action name.
794 |=============================================================================
796 Highlighting
797 ~~~~~~~~~~~~
801 Diff markup::
803 Options concerning diff start, chunks and lines added and deleted.
805 *diff-header*, *diff-chunk*, *diff-add*, *diff-add2*, *diff-del*,
806 *diff-del2*
808 Enhanced Git diff markup::
810 Extra diff information emitted by the Git diff machinery, such as mode
811 changes, rename detection, and similarity.
813 *diff-oldmode*, *diff-newmode*, *diff-copy-from*, *diff-copy-to*,
814 *diff-similarity*, *diff-index*
816 Pretty print commit headers::
818 Commit diffs and the revision logs are usually formatted using pretty printed
819 headers , unless `--pretty=raw` was given. This includes lines, such as merge
820 info, commit ID, and author and committer date.
822 *pp-refs*, *pp-reflog*, *pp-reflogmsg*, *pp-merge*
824 Raw commit header::
826 Usually shown when `--pretty=raw` is given, however 'commit' is pretty much
827 omnipresent.
829 *commit*, *parent*, *tree*, *author*, *committer*
831 Commit message::
833 `Signed-off-by`, `Acked-by`, `Reviewed-by` and `Tested-by` lines are colorized.
834 Characters in the commit title exceeding a predefined width can be highlighted.
837 Tree markup::
839 Colors for information of the tree view.
841 *tree-dir*, *tree-file*
845 Source command
846 -------------
848 Source commands make it possible to read additional configuration files.
849 Sourced files are included in-place, meaning when a 'source' command is
850 encountered the file will be immediately read. Any commands later in the
851 current configuration file will take precedence. The syntax is:
853 [verse]
854 *source* 'path'
856 Examples:
858 --------------------------------------------------------------------------
859 source ~/.tig/colorscheme.tigrc
860 source ~/.tig/keybindings.tigrc
861 --------------------------------------------------------------------------
863 COPYRIGHT
864 ---------
865 Copyright (c) 2006-2014 Jonas Fonseca <jonas.fonseca@gmail.com>
867 This program is free software; you can redistribute it and/or modify
868 it under the terms of the GNU General Public License as published by
869 the Free Software Foundation; either version 2 of the License, or
870 (at your option) any later version.
872 SEE ALSO
873 --------
874 ifndef::backend-docbook[]
875 link:tig.1.{docext}[tig(1)],
876 link:manual.{docext}[the Tig manual],
877 endif::backend-docbook[]
878 ifdef::backend-docbook[]
879 manpage:tig[1],
880 manpage:tigmanual[7],
881 endif::backend-docbook[]
882 git(7), git-config(1)