prompt: add file-filter option
[tig.git] / doc / tigrc.5.adoc
bloba2f1caa04b42569bb741a2e205b1099b845836a9
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
96 --------------------------------------------------------------------------
98 Or in the Git configuration files:
100 --------------------------------------------------------------------------
101 [tig]
102         show-date = yes         # Show commit date?
103         author-width = 10       # Set width of the author column
104         line-graphics = no      # Disable graphics characters
105         tab-size = 8            # Number of spaces per tab
106 --------------------------------------------------------------------------
108 The type of variables is either bool, int, string, or mixed.
110 Valid bool values::
112         To set a bool variable to true use either "1", "true", or "yes".
113         Any other value will set the variable to false.
115 Valid int values::
117         A non-negative integer.
119 Valid string values::
121         A string of characters. Optionally, use either ' or " as delimiters.
123 Valid mixed values::
125         These values are composites of the above types. The valid values are
126         specified in the description.
128 Variables
129 ~~~~~~~~~
131 The following variables can be set:
133 'author-width' (int)::
135         Width of the author column. When set to 5 or below, the author name
136         will be abbreviated to the author's initials.
138 'filename-width' (int)::
140         Width of the filename column.
142 'id-width' (int)::
144         Width of the commit ID. When unset Tig will use the value of
145         'core.abbrev' if found or default to 7.  See git-config(1) on how to
146         set 'core.abbrev'.
148 'diff-options' (string)::
150         A space separate string of diff options to use in the diff view.
151         git-show(1) is used for formatting and always passes --patch-with-stat.
152         This option overrides any options specified in the TIG_DIFF_OPTS
153         environment variable (described in manpage:tig[1]), but is itself
154         overridden by diff flags given on the command line invocation.
156 'blame-options' (string)::
158         A space separated string of extra blame options. Can be used for
159         telling git-blame(1) how to detect the origin of lines. The value
160         is ignored when Tig is started in blame mode and given blame options
161         on the command line.
163 'line-graphics' (mixed) [ "ascii" | "default" | "utf-8" | bool]::
165         What type of character graphics for line drawing.
167 'line-number-interval' (int)::
169         Interval between line numbers. Note, you have to toggle on line
170         numbering with ".".  The default is to number every fifth line.
172 'horizontal-scroll' (mixed)::
174         Interval to scroll horizontally in each step. Can be specified either
175         as the number of columns, e.g. '5', or as a percentage of the view
176         width, e.g. '33%', where the maximum is 100%. For percentages it is
177         always ensured that at least one column is scrolled. The default is to
178         scroll '50%' of the view width.
180 'mouse-scroll' (int)::
181         Interval to scroll up or down using the mouse. The default is 3 lines.
182         Mouse support requires that ncurses itself support mouse events and that
183         you have enabled mouse support in ~/.tigrc with `set mouse = true`.
185 'read-git-colors' (bool)::
187         Whether to read Git's color settings. True by default.
189 'show-author' (mixed) ["full", "abbreviated" | "email" | "email-user" | bool]::
191         How to display author names. If set to "abbreviated" author initials
192         will be shown. Can be toggled.
194 'show-filename' (mixed) ["auto" | "always" | bool]::
196         When to display file names. If set to "auto" file names are shown
197         only when needed, e.g. when running: tig blame -C <file>.
199 'show-file-size' (mixed) ["default" | "units" | bool]::
201         How to display file sizes. When set to "units", sizes are shown using
202         binary prefixes, e.g. 12524 bytes is shown as "12.2K". Can be toggled.
204 'show-date' (mixed) ["relative" | "short" | "default" | "local" | bool]::
206         Whether and how to show date. If set to "relative" a relative date will be
207         used, e.g. "2 minutes ago". If set to "short" no time information is
208         shown. If set to "local", localtime(3) is used. Can be toggled.
210 'show-notes' (mixed) [note reference | bool]::
212         Whether to show notes for a commit. When set to a note reference the
213         reference is passed to `git show --notes=`. Notes are enabled by
214         default.
216 'show-refs' (bool)::
218         Whether to show references (branches, tags, and remotes) in the main
219         view on start-up. Can be toggled.
221 'show-id' (bool)::
223         Whether to show commit IDs in the main view. Disabled by default. Can
224         be toggled. See also 'id-width' option.
226 'title-overflow' (mixed) [bool | int]::
228         Whether to highlight text in commit titles exceeding a given width.
229         When set to a boolean, it enables/disables the highlighting using the
230         default width of 50 character. When set to an int, the assigned value
231         is used as the maximum character width.
233 'show-rev-graph' (bool)::
235         Whether to show revision graph in the main view on start-up.
236         Can be toggled. See also line-graphics options.
238 'show-changes' (bool)::
240         Whether to show staged and unstaged changes in the main view.
241         Can be toggled.
243 'show-line-numbers' (bool)::
245         Whether to show line numbers. Can be toggled.
247 'vertical-split' (mixed) ["auto" | bool]::
249         Whether to split the view horizontally or vertically.
250         "auto" (which is the default) means that it will depend on the window
251         dimensions. When true vertical orientation is used, and false sets the
252         orientation to horizontal.
254 'split-view-height' (mixed)::
256         Height of the lower view in a split view. Can be specified either as
257         the number of rows, e.g. '5', or as a percentage of the view height,
258         e.g. '80%', where the maximum is 100%. It is always ensured that the
259         smaller of the views is at least four rows high. The default is a view
260         height of '66%'.
262 'status-untracked-dirs' (bool)::
264         Show untracked directories contents in the status view (analog to
265         `git ls-files --directory` option). On by default.
267 'tab-size' (int)::
269         Number of spaces per tab. The default is 8 spaces.
271 'diff-context' (int)::
273         Number of context lines to show for diffs.
275 'ignore-space' (mixed) ["no" | "all" | "some" | "at-eol" | bool]::
277     Ignore space changes in diff view. By default no space changes are ignored.
278     Changing this to "all", "some" or "at-eol" is equivalent to passing
279     "--ignore-all-space", "--ignore-space" or "--ignore-space-at-eol"
280     respectively to `git diff` or `git show`.
282 'commit-order' (mixed) ["default" | "topo" | "date" | "reverse" | bool]::
284         Commit ordering using the default (chronological reverse) order,
285         topological order, date order or reverse order. The default order is
286         used when the option is set to false, and topo order when set to true.
288 'ignore-case' (bool)::
290         Ignore case in searches. By default, the search is case sensitive.
292 'wrap-lines' (bool)::
294         Wrap long lines. By default, lines are not wrapped.
295         Not compatible with line numbers enabled.
297 'focus-child' (bool)::
299         Whether to focus the child view when it is opened. When disabled the
300         focus will remain in the parent view, avoiding reloads of the child
301         view when navigating the parent view. True by default.
303 'editor-line-number' (bool)::
305         Whether to pass the selected line number to the editor command. The
306         line number is passed as `+<line-number>` in front of the file name.
307         Example: `vim +10 tig.c`
309 'mouse' (bool)::
310         Whether to enable mouse support. Off by default since it makes selecting
311         text from the terminal less intuitive. When enabled hold down Shift (or
312         Option on Mac) to select text. Mouse support requires that ncurses
313         itself support mouse events.
315 Bind command
316 ------------
318 Using bind commands, keys can be mapped to an action when pressed in a given
319 key map. The syntax is:
321 [verse]
322 *bind* 'keymap' 'key' 'action'
324 Examples:
326 --------------------------------------------------------------------------
327 # Add keybinding to quickly jump to the next diff chunk in the stage view
328 bind stage Enter stage-next
330 # Disable the default mapping for running git-gc
331 bind generic G none
333 # User-defined external command to amend the last commit
334 bind status + !git commit --amend
336 # User-defined internal command that reloads ~/.tigrc
337 bind generic S :source ~/.tigrc
339 # UTF8-encoded characters can be used as key values.
340 bind generic Ã¸ @sh -c "printf '%s' %(commit) | pbcopy"
341 --------------------------------------------------------------------------
343 Or in the Git configuration files:
345 --------------------------------------------------------------------------
346 [tig "bind"]
347         # 'unbind' the default quit key binding
348         main = Q none
349         # Cherry-pick current commit onto current branch
350         generic = C !git cherry-pick %(commit)
351 --------------------------------------------------------------------------
353 Keys are mapped by first searching the keybindings for the current view, then
354 the keybindings for the *generic* keymap, and last the default keybindings.
355 Thus, the view keybindings override the generic keybindings which override the
356 built-in keybindings.
360 Keymaps::
362 Valid keymaps are: *main*, *diff*, *log*, *help*, *pager*, *status*, *stage*,
363 *tree*, *blob*, *blame*, *branch*, *stash*, *grep* and *generic*. Use *generic*
364 to set key mapping in all keymaps.
366 Key values::
368 Key values should never be quoted. Use either an ASCII or UTF8-encoded character
369 or one of the following symbolic key names. Symbolic key names are case
370 insensitive. Use *Hash* to bind to the `#` key, since the hash mark is used as a
371 comment character.
373 *Enter*, *Space*, *Backspace*, *Tab*, *Escape*, *Left*, *Right*, *Up*, *Down*,
374 *Insert*, *Delete*, *Hash*, *Home*, *End*, *PageUp*, *PageDown*, *F1*, *F2*, *F3*,
375 *F4*, *F5*, *F6*, *F7*, *F8*, *F9*, *F10*, *F11*, *F12*.
377 To add a key mapping that uses the `Ctrl` key, use a `^` prefix in your mapping.
378 Similarly, use `^[` to map to keys prefixed by the `Escape` key. Examples:
380 --------------------------------------------------------------------------
381 bind main ^f  scroll-page-down
382 bind main ^[o options
383 --------------------------------------------------------------------------
385 Note that due to the way ncurses encodes `Ctrl` key mappings, `Ctrl-m` and
386 `Ctrl-i` cannot be bound as they conflict with 'Enter' and 'Tab' respectively.
387 Furthermore, ncurses does not allow to distinguish between `Ctrl-f` and
388 `Ctrl-F`. Finally, `Ctrl-z` is automatically used for process control and will
389 suspend Tig and open a subshell (use `fg` to reenter Tig).
391 Actions::
393 Actions are either specified as user-defined commands (external or internal) or
394 using action names as described in the following sections.
398 External user-defined command
399 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
401 These actions start with one or more of the following option flags followed by
402 the command that should be executed.
404 [frame="none",grid="none",cols="25<m,75<"]
405 |=============================================================================
406 |!                      |Run the command in the foreground with output shown.
407 |@                      |Run the command in the background with no output.
408 |?                      |Prompt the user before executing the command.
409 |<                      |Exit Tig after executing the command.
410 |=============================================================================
412 Unless otherwise specified, commands are run in the foreground with their
413 console output shown (as if '!' was specified). When multiple command options
414 are specified their behavior are combined, e.g. "?<git commit" will prompt the
415 user whether to execute the command and will exit Tig after completion.
417 Browsing state variables
418 ^^^^^^^^^^^^^^^^^^^^^^^^
420 User-defined commands can optionally refer to Tig's internal state using the
421 following variable names, which are substituted before commands are run:
423 [frame="none",grid="none",cols="25<m,75<"]
424 |=============================================================================
425 |%(head)                |The currently viewed 'head' ID. Defaults to HEAD
426 |%(commit)              |The currently selected commit ID.
427 |%(blob)                |The currently selected blob ID.
428 |%(branch)              |The currently selected branch name.
429 |%(stash)               |The currently selected stash name.
430 |%(directory)           |The current directory path in the tree view;
431                          empty for the root directory.
432 |%(file)                |The currently selected file.
433 |%(ref)                 |The reference given to blame or HEAD if undefined.
434 |%(revargs)             |The revision arguments passed on the command line.
435 |%(fileargs)            |The file arguments passed on the command line.
436 |%(cmdlineargs)         |All other options passed on the command line.
437 |%(diffargs)            |The diff options from 'diff-options' or 'TIG_DIFF_OPTS'
438 |%(prompt)              |Prompt for the argument value. Optionally specify a
439                          custom prompt using `"%(prompt Enter branch name: )"`
440 |=============================================================================
442 Examples:
444 --------------------------------------------------------------------------
445 # Save save the current commit as a patch file when the user selects a
446 # commit in the main view and presses 'S'.
447 bind main S !git format-patch -1 %(commit)
449 # Create and checkout a new branch; specify custom prompt
450 bind main B ?git checkout -b "%(prompt Enter new branch name: )"
451 --------------------------------------------------------------------------
453 Advanced shell-like commands
454 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
456 If your command requires use of dynamic features, such as subshells,
457 expansion of environment variables and process control, this can be achieved by
458 using a shell command:
460 .Configure a binding to copy the current commit ID to the clipboard.
461 --------------------------------------------------------------------------
462 bind generic I @sh -c "echo -n %(commit) | xclip -selection c"
463 --------------------------------------------------------------------------
465 Or by using a combination of Git aliases and Tig external commands. The
466 following example entries can be put in either the .gitconfig or .git/config
467 file:
469 .Git configuration which binds Tig keys to Git command aliases.
470 --------------------------------------------------------------------------
471 [alias]
472         gitk-bg = !"gitk HEAD --not $(git rev-parse --remotes) &"
473         publish = !"for i in origin public; do git push $i; done"
474 [tig "bind"]
475         # @-prefix means that the console output will not be shown.
476         generic = V !@git gitk-bg
477         generic = > !git publish
478 --------------------------------------------------------------------------
480 Internal user-defined commands
481 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
483 Actions beginning with a ':' will be run and interpreted as internal commands
484 and act similar to commands run via Tig's prompt. Valid internal commands are
485 configuration file options (as described in this document) and pager view
486 commands. Examples:
488 --------------------------------------------------------------------------
489 # Reload ~/.tigrc when 'S' is pressed
490 bind generic S :source .tigrc
492 # Change diff view to show all commit changes regardless of file limitations
493 bind diff F :set diff-options = --full-diff
495 # Show the output of git-reflog(1) in the pager view
496 bind generic W :!git reflog
498 # Search for previous diff (c)hunk and next diff header
499 bind stage 2 :?^@@
500 bind stage D :/^diff --(git|cc)
501 --------------------------------------------------------------------------
503 Similar to external commands, pager view commands can contain variable names
504 that will be substituted before the command is run.
506 Action names
507 ~~~~~~~~~~~~
509 Valid action names are described below. Note, all action names are
510 case-insensitive, and you may use '-', '_', and '.' interchangeably, e.g.
511 "view-main", "View.Main", and "VIEW_MAIN" are the same.
513 ifndef::DOC_GEN_ACTIONS[]
514 View switching
515 ^^^^^^^^^^^^^^
517 [frame="none",grid="none",cols="25<m,75<"]
518 |=============================================================================
519 |view-main               |Show main view
520 |view-diff               |Show diff view
521 |view-log                |Show log view
522 |view-tree               |Show tree view
523 |view-blob               |Show blob view
524 |view-blame              |Show blame view
525 |view-branch             |Show branch view
526 |view-status             |Show status view
527 |view-stage              |Show stage view
528 |view-stash              |Show stash view
529 |view-grep               |Show grep view
530 |view-pager              |Show pager view
531 |view-help               |Show help view
532 |=============================================================================
534 View manipulation
535 ^^^^^^^^^^^^^^^^^
537 [frame="none",grid="none",cols="25<m,75<"]
538 |=============================================================================
539 |enter                   |Enter and open selected line
540 |back                    |Go back to the previous view state
541 |next                    |Move to next
542 |previous                |Move to previous
543 |parent                  |Move to parent
544 |view-next               |Move focus to the next view
545 |refresh                 |Reload and refresh view
546 |maximize                |Maximize the current view
547 |view-close              |Close the current view
548 |quit                    |Close all views and quit
549 |=============================================================================
551 View specific actions
552 ^^^^^^^^^^^^^^^^^^^^^
554 [frame="none",grid="none",cols="25<m,75<"]
555 |=============================================================================
556 |status-update           |Stage/unstage chunk or file changes
557 |status-revert           |Revert chunk or file changes
558 |status-merge            |Merge file using external tool
559 |stage-update-line       |Stage/unstage single line
560 |stage-next              |Jump to next diff chunk
561 |stage-split-chunk       |Split current diff chunk
562 |diff-context-up         |Increase the diff context
563 |diff-context-down       |Decrease the diff context
564 |=============================================================================
566 Cursor navigation
567 ^^^^^^^^^^^^^^^^^
569 [frame="none",grid="none",cols="25<m,75<"]
570 |=============================================================================
571 |move-up                 |Move cursor one line up
572 |move-down               |Move cursor one line down
573 |move-page-down          |Move cursor one page down
574 |move-page-up            |Move cursor one page up
575 |move-first-line         |Move cursor to first line
576 |move-last-line          |Move cursor to last line
577 |=============================================================================
579 Scrolling
580 ^^^^^^^^^
582 [frame="none",grid="none",cols="25<m,75<"]
583 |=============================================================================
584 |scroll-line-up          |Scroll one line up
585 |scroll-line-down        |Scroll one line down
586 |scroll-page-up          |Scroll one page up
587 |scroll-page-down        |Scroll one page down
588 |scroll-first-col        |Scroll to the first line columns
589 |scroll-left             |Scroll two columns left
590 |scroll-right            |Scroll two columns right
591 |=============================================================================
593 Searching
594 ^^^^^^^^^
596 [frame="none",grid="none",cols="25<m,75<"]
597 |=============================================================================
598 |search                  |Search the view
599 |search-back             |Search backwards in the view
600 |find-next               |Find next search match
601 |find-prev               |Find previous search match
602 |=============================================================================
604 Option manipulation
605 ^^^^^^^^^^^^^^^^^^^
607 [frame="none",grid="none",cols="25<m,75<"]
608 |=============================================================================
609 |options                 |Open the options menu
610 |toggle-lineno           |Toggle line numbers
611 |toggle-date             |Toggle date display
612 |toggle-author           |Toggle author display
613 |toggle-rev-graph        |Toggle revision graph visualization
614 |toggle-graphic          |Toggle (line) graphics mode
615 |toggle-filename         |Toggle file name display
616 |toggle-refs             |Toggle reference display (tags/branches)
617 |toggle-changes          |Toggle local changes display in the main view
618 |toggle-sort-order       |Toggle ascending/descending sort order
619 |toggle-sort-field       |Toggle field to sort by
620 |toggle-ignore-space     |Toggle ignoring whitespace in diffs
621 |toggle-commit-order     |Toggle commit ordering
622 |toggle-id               |Toggle commit ID display
623 |toggle-files            |Toggle file filtering
624 |toggle-title-overflow   |Toggle highlighting of commit title overflow
625 |toggle-file-size        |Toggle file size format
626 |toggle-untracked-dirs   |Toggle display of files in untracked directories
627 |toggle-vertical-split   |Toggle vertical split
628 |=============================================================================
630 Misc
631 ^^^^
633 [frame="none",grid="none",cols="25<m,75<"]
634 |=============================================================================
635 |edit                    |Open in editor
636 |prompt                  |Open the prompt
637 |screen-redraw           |Redraw the screen
638 |stop-loading            |Stop all loading views
639 |show-version            |Show version information
640 |none                    |Do nothing
641 |=============================================================================
642 endif::DOC_GEN_ACTIONS[]
644 Color command
645 -------------
647 Color commands control highlighting and the user interface styles. If your
648 terminal supports color, these commands can be used to assign foreground and
649 background combinations to certain areas. Optionally, an attribute can be
650 given as the last parameter. The syntax is:
652 [verse]
653 *color* 'area' 'fgcolor' 'bgcolor' '[attributes]'
655 Examples:
657 ------------------------------------------------------------------------------
658 # Override the default terminal colors to white on black.
659 color default           white   black
660 # Diff colors
661 color diff-header       yellow  default
662 color diff-index        blue    default
663 color diff-chunk        magenta default
664 color "Reported-by:"    green   default
665 # View specific color
666 color tree.date         black   cyan    bold
667 --------------------------------------------------------------------------
669 Or in the Git configuration files:
671 --------------------------------------------------------------------------
672 [tig "color"]
673         # A strange looking cursor line
674         cursor          = red   default underline
675         # UI colors
676         title-blur      = white blue
677         title-focus     = white blue    bold
678 # View specific color
679 [tig "color.tree"]
680         date            = cyan  default bold
681 ------------------------------------------------------------------------------
683 Area names::
685         Can be either a built-in area name or a custom quoted string. The
686         latter allows custom color rules to be added for lines matching a
687         quoted string.
688         Valid built-in area names are described below. Note, all names are
689         case-insensitive, and you may use '-', and '_' interchangeably,
690         e.g. "Diff-Header" and "DIFF_HEADER" are the same.
691         View specific colors can be defined by prefixing the view name to
692         the area name, e.g. "stage.diff-chunk" and "diff.diff-chunk".
694 Color names::
696         Valid colors include: *white*, *black*, *green*, *magenta*, *blue*,
697         *cyan*, *yellow*, *red*, *default*. Use *default* to refer to the
698         default terminal colors, for example, to keep the background
699         transparent when you are using a terminal with a transparent
700         background.
702 Colors can also be specified using the keywords *color0*, *color1*, ...,
703 *colorN-1* (where *N* is the number of colors supported by your terminal).
704 This is useful when you remap the colors for your display or want to enable
705 colors supported by 88-color and 256-color terminals. Note that the 'color'
706 prefix is optional. If you prefer, you can specify colors directly by their
707 numbers *0*, *1*, ..., *N-1* instead, just like in the configuration file of
708 Git.
710 Attribute names::
712         Valid attributes include: *normal*, *blink*, *bold*, *dim*, *reverse*,
713         *standout*, and *underline*. Note, not all attributes may be supported
714         by the terminal.
716 UI colors
717 ~~~~~~~~~
719 The colors and attributes to be used for the text that is not highlighted or
720 that specify the use of the default terminal colors can be controlled by
721 setting the *default* color option.
723 .General
724 [frame="none",grid="none",cols="25<m,75<"]
725 |=============================================================================
726 |default                |Override default terminal colors (see above).
727 |cursor                 |The cursor line.
728 |status                 |The status window showing info messages.
729 |title-focus            |The title window for the current view.
730 |title-blur             |The title window of any backgrounded view.
731 |delimiter              |Delimiter shown for truncated lines.
732 |line-number            |Line numbers.
733 |id                     |The commit ID.
734 |date                   |The commit date.
735 |author                 |The commit author.
736 |mode                   |The file mode holding the permissions and type.
737 |=============================================================================
739 .Main view colors
740 [frame="none",grid="none",cols="25<m,75<"]
741 |=============================================================================
742 |graph-commit           |The commit dot in the revision graph.
743 |palette-[0-6]          |7 different colors,
744 used for distinguishing branches or commits.
745 example: palette-0 = red
746 |main-commit            |The commit comment.
747 |main-head              |Label of the current branch.
748 |main-remote            |Label of a remote.
749 |main-tracked           |Label of the remote tracked by the current branch.
750 |main-tag               |Label of a signed tag.
751 |main-local-tag         |Label of a local tag.
752 |main-ref               |Label of any other reference.
753 |=============================================================================
755 .Status view
756 [frame="none",grid="none",cols="25<m,75<"]
757 |=============================================================================
758 |stat-head              |The "On branch"-line.
759 |stat-section           |Status section titles,
760 |stat-staged            |Status flag of staged files.
761 |stat-unstaged          |Status flag of unstaged files.
762 |stat-untracked         |Status flag of untracked files.
763 |=============================================================================
765 .Tree view
766 [frame="none",grid="none",cols="25<m,75<"]
767 |=============================================================================
768 |tree-head              |The "Directory /"-line
769 |tree-dir               |The directory name.
770 |tree-file              |The file name.
771 |=============================================================================
773 Highlighting
774 ~~~~~~~~~~~~
778 Diff markup::
780 Options concerning diff start, chunks and lines added and deleted.
782 *diff-header*, *diff-chunk*, *diff-add*, *diff-del*
784 Enhanced Git diff markup::
786 Extra diff information emitted by the Git diff machinery, such as mode
787 changes, rename detection, and similarity.
789 *diff-oldmode*, *diff-newmode*, *diff-copy-from*, *diff-copy-to*,
790 *diff-rename-from*, *diff-rename-to*, *diff-deleted-file-mode*,
791 *diff-similarity*, *diff-dissimilarity* *diff-tree*, *diff-index*, *diff-stat*
793 Pretty print commit headers::
795 Commit diffs and the revision logs are usually formatted using pretty printed
796 headers , unless `--pretty=raw` was given. This includes lines, such as merge
797 info, commit ID, and author and committer date.
799 *pp-author*, *pp-commit*, *pp-merge*, *pp-date*, *pp-adate*, *pp-cdate*,
800 *pp-refs*
802 Raw commit header::
804 Usually shown when `--pretty=raw` is given, however 'commit' is pretty much
805 omnipresent.
807 *commit*, *parent*, *tree*, *author*, *committer*
809 Commit message::
811 `Signed-off-by`, `Acked-by`, `Reviewed-by` and `Tested-by` lines are colorized.
812 Characters in the commit title exceeding a predefined width can be highlighted.
814 *signoff*, *acked*, *reviewed*, *tested*, *overflow*
816 Tree markup::
818 Colors for information of the tree view.
820 *tree-dir*, *tree-file*
824 Source command
825 -------------
827 Source commands make it possible to read additional configuration files.
828 Sourced files are included in-place, meaning when a 'source' command is
829 encountered the file will be immediately read. Any commands later in the
830 current configuration file will take precedence. The syntax is:
832 [verse]
833 *source* 'path'
835 Examples:
837 --------------------------------------------------------------------------
838 source ~/.tig/colorscheme.tigrc
839 source ~/.tig/keybindings.tigrc
840 --------------------------------------------------------------------------
842 COPYRIGHT
843 ---------
844 Copyright (c) 2006-2014 Jonas Fonseca <jonas.fonseca@gmail.com>
846 This program is free software; you can redistribute it and/or modify
847 it under the terms of the GNU General Public License as published by
848 the Free Software Foundation; either version 2 of the License, or
849 (at your option) any later version.
851 SEE ALSO
852 --------
853 ifndef::backend-docbook[]
854 link:tig.1.{docext}[tig(1)],
855 link:manual.{docext}[the Tig manual],
856 endif::backend-docbook[]
857 ifdef::backend-docbook[]
858 manpage:tig[1],
859 manpage:tigmanual[7],
860 endif::backend-docbook[]
861 git(7), git-config(1)