Code

Show the active (instead of the default) keybindings in the help view
[tig.git] / tigrc.5.txt
index 3da0d2f9a3a09589206dec85294498d0f303e791..1376232bd90e23902b575251db6278c3e28c42bf 100644 (file)
@@ -3,17 +3,15 @@ tigrc(5)
 
 NAME
 ----
-tigrc - tig user configuration file
+tigrc - tig configuration file
 
 
 SYNOPSIS
 --------
 [verse]
-.............................................................................
 *set*   'variable' *=* 'value'
 *bind*  'keymap' 'key' 'action'
 *color* 'area' 'fgcolor' 'bgcolor' '[attributes]'
-.............................................................................
 
 
 DESCRIPTION
@@ -27,6 +25,9 @@ The hash mark ('#') is used as a 'comment' character. All text after the
 comment character to the end of the line is ignored. You can use comments to
 annotate your initialization file.
 
+Alternatively, options can be set by putting them in one of the git
+configuration files, which are read by tig on startup. See 'git-config(1)' for
+which files to use.
 
 Set command
 -----------
@@ -35,26 +36,31 @@ A few selective variables can be configured via the set command. The syntax
 is:
 
 [verse]
-..............................................................................
 *set* variables *=* value
-..............................................................................
 
 Examples:
 
 --------------------------------------------------------------------------
 set show-author = yes          # Show author?
-set show-date = yes            # Show commit date?
 set show-rev-graph = yes       # Show revision graph?
 set show-refs = yes            # Show references?
 set show-line-numbers = no     # Show line numbers?
-set author-width = 10          # Set width of the author column
-set line-graphics = no         # Disable graphics characters
 set line-number-interval = 5   # Interval between line numbers
-set tab-size = 8               # Number of spaces per tab
-set encoding = "UTF-8"         # Commit encoding
+set commit-encoding = "UTF-8"  # Commit encoding
+set horizontal-scroll = 33%    # Scroll 33% of the view width
 --------------------------------------------------------------------------
 
-The type of variables are either bool, int, and string.
+Or in the git configuration files:
+
+--------------------------------------------------------------------------
+[tig]
+       show-date = yes         # Show commit date?
+       author-width = 10       # Set width of the author column
+       line-graphics = no      # Disable graphics characters
+       tab-size = 8            # Number of spaces per tab
+--------------------------------------------------------------------------
+
+The type of variables are either bool, int, string, or mixed.
 
 Valid bool values::
 
@@ -69,6 +75,11 @@ Valid string values::
 
        A string of characters. Optionally, use either ' or " as delimiters.
 
+Valid mixed values::
+
+       These values are composites of the above types. The valid values are
+       specified in the description.
+
 Variables
 ~~~~~~~~~
 
@@ -85,7 +96,8 @@ The following variables can be set:
 
 'author-width' (int)::
 
-       Width of the author column.
+       Width of the author column. When set to 5 or below, the author name
+       will be abbreviated to the author's initials.
 
 'line-graphics' (bool)::
 
@@ -101,6 +113,22 @@ The following variables can be set:
 
        Number of spaces per tab. The default is 8 spaces.
 
+'horizontal-scroll' (mixed)::
+
+       Interval to scroll horizontally in each step. Can be specified either
+       as the number of columns, e.g. '5', or as a percentage of the view
+       width, e.g. '33%', where the maximum is 100%. For percentages it is
+       always ensured that at least one column is scrolled. The default is to
+       scroll '50%' of the view width.
+
+'split-view-height' (mixed)::
+
+       Height of the lower view in a split view. Can be specified either as
+       the number of rows, e.g. '5', or as a percentage of the view height,
+       e.g. '80%', where the maximum is 100%. It is always ensured that the
+       smaller of the views is at least four rows high. The default is a view
+       height of '66%'.
+
 'commit-encoding' (string)::
 
        The encoding used for commits. The default is UTF-8. Not this option
@@ -114,9 +142,7 @@ Using bind commands keys can be mapped to an action when pressed in a given
 key map. The syntax is:
 
 [verse]
-..............................................................................
 *bind* 'keymap' 'key' 'action'
-..............................................................................
 
 Examples:
 
@@ -128,12 +154,18 @@ bind main space enter
 bind diff a previous
 bind diff d next
 bind diff b move-first-line
-# 'unbind' the default quit key binding
-bind main Q none
 # An external command to update from upstream
 bind generic F !git fetch
-# Cherry-pick current commit onto current branch
-bind generic C !git cherry-pick %(commit)
+--------------------------------------------------------------------------
+
+Or in the git configuration files:
+
+--------------------------------------------------------------------------
+[tig "bind"]
+       # 'unbind' the default quit key binding
+       main = Q none
+       # Cherry-pick current commit onto current branch
+       generic = C !git cherry-pick %(commit)
 --------------------------------------------------------------------------
 
 Keys are mapped by first searching the keybindings for the current view, then
@@ -146,7 +178,8 @@ built-in keybindings.
 Keymaps::
 
 Valid keymaps are: *main*, *diff*, *log*, *help*, *pager*, *status*, *stage*,
-and *generic*.  Use *generic* to set key mapping in all keymaps.
+*tree*, *blob*, *blame*, *branch*, and *generic*.  Use *generic* to set key
+mapping in all keymaps.
 
 Key values::
 
@@ -191,7 +224,20 @@ Browsing state variables
 ------------------------------------------------------------------------------
 
 As an example, the following external command will save the current commit as
-a patch file: "!git format-patch -1 %(commit)".
+a patch file: "!git format-patch -1 %(commit)". If your external command
+require use of dynamic features, such as subshells, expansion of environment
+variables and process control, this can be achieved by using a combination of
+git aliases and tig external commands. The following example entries can be
+put in either the .gitconfig or .git/config file:
+
+--------------------------------------------------------------------------
+[alias]
+       gitk-bg = !"gitk HEAD --not $(git rev-parse --remotes) &"
+       publish = !"for i in origin public; do git push $i; done"
+[tig "bind"]
+       generic = V !git gitk-bg
+       generic = > !git publish
+--------------------------------------------------------------------------
 
 ifdef::backend-xhtml11[]
 [frame="none"]
@@ -205,6 +251,7 @@ view-log            Show log view
 view-tree              Show tree view
 view-blob              Show blob view
 view-blame             Show blame view
+view-branch            Show branch view
 view-status            Show status view
 view-stage             Show stage view
 view-pager             Show pager view
@@ -228,6 +275,17 @@ view-close         Close the current view
 quit                   Close all views and quit
 ------------------------------------------------------------------------------
 
+ifdef::backend-xhtml11[]
+[frame="none"]
+`-----------------------`-----------------------------------------------------
+endif::backend-xhtml11[]
+View specific actions:
+------------------------------------------------------------------------------
+status-update          Update file status
+status-merge           Resolve unmerged file
+stage-next             Find next chunk to stage
+------------------------------------------------------------------------------
+
 ifdef::backend-xhtml11[]
 [frame="none"]
 `-----------------------`-----------------------------------------------------
@@ -250,8 +308,10 @@ Scrolling:
 ------------------------------------------------------------------------------
 scroll-line-up         Scroll one line up
 scroll-line-down       Scroll one line down
-scroll-page-eup                Scroll one page up
+scroll-page-up         Scroll one page up
 scroll-page-down       Scroll one page down
+scroll-left            Scroll one column left
+scroll-right           Scroll one column right
 ------------------------------------------------------------------------------
 
 ifdef::backend-xhtml11[]
@@ -272,21 +332,19 @@ ifdef::backend-xhtml11[]
 endif::backend-xhtml11[]
 Misc:
 ------------------------------------------------------------------------------
-none                   Do nothing
 prompt                 Bring up the prompt
 screen-redraw          Redraw the screen
 screen-resize          Resize the screen
 show-version           Show version information
 stop-loading           Stop all loading views
+options                        Open options menu
 toggle-lineno          Toggle line numbers
 toggle-date            Toggle date display
 toggle-author          Toggle author display
 toggle-rev-graph       Toggle revision graph visualization
 toggle-refs            Toggle reference display
-status-update          Update file status
-status-merge           Resolve unmerged file
-stage-next             Find next chunk to stage
 edit                   Open in editor
+none                   Do nothing
 ------------------------------------------------------------------------------
 
 
@@ -299,9 +357,7 @@ background combinations to certain areas. Optionally, an attribute can be
 given as the last parameter. The syntax is:
 
 [verse]
-..............................................................................
 *color* 'area' 'fgcolor' 'bgcolor' '[attributes]'
-..............................................................................
 
 Examples:
 
@@ -312,11 +368,17 @@ color default             white   black
 color diff-header      yellow  default
 color diff-index       blue    default
 color diff-chunk       magenta default
-# A strange looking cursor line
-color cursor           red     default underline
-# UI colors
-color title-blur       white   blue
-color title-focus      white   blue    bold
+--------------------------------------------------------------------------
+
+Or in the git configuration files:
+
+--------------------------------------------------------------------------
+[tig "color"]
+       # A strange looking cursor line
+       cursor          red     default underline
+       # UI colors
+       title-blur      white   blue
+       title-focus     white   blue    bold
 ------------------------------------------------------------------------------
 
 Area names::
@@ -329,8 +391,13 @@ Color names::
 
        Valid colors include: *white*, *black*, *green*, *magenta*, *blue*,
        *cyan*, *yellow*, *red*, *default*. Use *default* to refer to the
-       default terminal colors. This is recommended for background colors
-       if you are using a terminal with a transparent background.
+       default terminal colors. This is recommended for background colors if
+       you are using a terminal with a transparent background.
++
+Colors can also be specified using the keywords color0, color1, ..., colorN-1
+(N being the number of colors supported by your terminal). This is useful when
+you remap the colors for your display or want to enable colors supported by
+256-color terminals.
 
 Attribute names::
 
@@ -359,6 +426,8 @@ title-blur          The title window of any backgrounded view.
 delimiter              Delimiter shown for truncated lines.
 line-number            Line numbers.
 date                   The commit date.
+author                 The commit author.
+mode                   The file mode holding the permissions and type.
 ------------------------------------------------------------------------------
 
 ifdef::backend-xhtml11[]
@@ -367,7 +436,6 @@ ifdef::backend-xhtml11[]
 endif::backend-xhtml11[]
 Main view colors:
 ------------------------------------------------------------------------------
-main-author            The commit author.
 main-revgraph          The revision graph.
 main-commit            The commit comment.
 main-head              Label of the current branch.
@@ -400,6 +468,17 @@ Blame view:
 blame-id               The commit ID.
 ------------------------------------------------------------------------------
 
+ifdef::backend-xhtml11[]
+[frame="none"]
+`-----------------------`-----------------------------------------------------
+endif::backend-xhtml11[]
+Tree view:
+------------------------------------------------------------------------------
+tree-head              The "Directory /"-line
+tree-dir               The directory name.
+tree-file              The file name.
+------------------------------------------------------------------------------
+
 Highlighting
 ~~~~~~~~~~~~
 
@@ -458,4 +537,5 @@ Licensed under the terms of the GNU General Public License.
 
 SEE ALSO
 --------
-manpage:tig[1] and the http://jonas.nitro.dk/tig/manual.html[tig manual].
+manpage:tig[1], git-config(1),
+and the http://jonas.nitro.dk/tig/manual.html[tig manual].