X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=tigrc.5.txt;h=1376232bd90e23902b575251db6278c3e28c42bf;hb=0c818263da3767600cf50f333bd4cfc37e0b45e4;hp=fa4f47369627161ac6cf50c5ab6fd304edeed964;hpb=272818eafff98333c51f1b614704160f265405ed;p=tig.git diff --git a/tigrc.5.txt b/tigrc.5.txt index fa4f473..1376232 100644 --- a/tigrc.5.txt +++ b/tigrc.5.txt @@ -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] -............................................................................. +*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,20 +36,31 @@ A few selective variables can be configured via the set command. The syntax is: [verse] -.............................................................................. - *set* variables *=* value -.............................................................................. +*set* variables *=* value Examples: -------------------------------------------------------------------------- - set show-rev-graph = yes # Show revision graph? - set line-number-interval = 5 # Interval between line numbers - set tab-size = 8 # Number of spaces pr tab - set encoding = "UTF-8" # Commit encoding +set show-author = yes # Show author? +set show-rev-graph = yes # Show revision graph? +set show-refs = yes # Show references? +set show-line-numbers = no # Show line numbers? +set line-number-interval = 5 # Interval between line numbers +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:: @@ -63,15 +75,33 @@ 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 ~~~~~~~~~ The following variables can be set: +'show-author' (bool):: +'show-date' (bool):: 'show-rev-graph' (bool):: +'show-refs' (bool):: - Show revision graph in the main view on start-up. Can be toggled with - 'g'. + Whether to show author, date, revision graph, and references + (branches, tags, and remotes) in the main view on start-up. Can all be + toggled. + +'author-width' (int):: + + 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):: + + Whether to use graphic characters for line drawing. 'line-number-interval' (int):: @@ -83,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 @@ -96,22 +142,30 @@ 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' -.............................................................................. +*bind* 'keymap' 'key' 'action' Examples: -------------------------------------------------------------------------- - # A few keybindings - bind main w scroll-line-up - bind main s scroll-line-down - bind main space enter - bind diff a previous - bind diff d next - bind diff b move-first-line +# A few keybindings +bind main w scroll-line-up +bind main s scroll-line-down +bind main space enter +bind diff a previous +bind diff d next +bind diff b move-first-line +# An external command to update from upstream +bind generic F !git fetch +-------------------------------------------------------------------------- + +Or in the git configuration files: + +-------------------------------------------------------------------------- +[tig "bind"] # 'unbind' the default quit key binding - bind main Q none + 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 @@ -124,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:: @@ -148,6 +203,42 @@ e.g. "view-main", "View.Main", and "VIEW_MAIN" are the same. Actions ~~~~~~~ +Apart from the action names listed below, all actions starting with a '!' will +be available as an external command. External commands can contain variable +names that will be substituted before the command is run. Valid variable names +are: + +ifdef::backend-xhtml11[] +[frame="none"] +`-----------------------`----------------------------------------------------- +endif::backend-xhtml11[] +Browsing state variables +------------------------------------------------------------------------------ +%(head) The currently viewed 'head' ID. Defaults to HEAD +%(commit) The currently selected commit ID. +%(blob) The currently selected blob ID. +%(directory) The current directory path in the tree view; \ + empty for the root directory. +%(file) The currently selected file. +%(ref) The reference given to blame or HEAD if undefined. +------------------------------------------------------------------------------ + +As an example, the following external command will save the current commit as +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"] `-----------------------`----------------------------------------------------- @@ -159,6 +250,8 @@ view-diff Show diff view 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 @@ -174,12 +267,25 @@ View manipulation: enter Enter current line and scroll next Move to next previous Move to previous +parent Move to parent view-next Move focus to next view refresh Reload and refresh view +maximize Maximize the current view 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"] `-----------------------`----------------------------------------------------- @@ -202,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[] @@ -224,17 +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 -status-update Update file status +toggle-refs Toggle reference display edit Open in editor -cherry-pick Cherry-pick commit to current branch +none Do nothing ------------------------------------------------------------------------------ @@ -243,26 +353,32 @@ Color command Color commands control highlighting and the user interface styles. If your terminal supports color, these commands can be used to assign foreground and -background combinations to certain areas. Optionally, an attribute can be given -as the last parameter. The syntax is: +background combinations to certain areas. Optionally, an attribute can be +given as the last parameter. The syntax is: [verse] -.............................................................................. - *color* 'area' 'fgcolor' 'bgcolor' '[attributes]' -.............................................................................. +*color* 'area' 'fgcolor' 'bgcolor' '[attributes]' Examples: ------------------------------------------------------------------------------ - # Diff colors - color diff-header yellow default - color diff-index blue default - color diff-chunk magenta default +# Overwrite the default terminal colors to white on black. +color default white black +# Diff colors +color diff-header yellow default +color diff-index blue default +color diff-chunk magenta default +-------------------------------------------------------------------------- + +Or in the git configuration files: + +-------------------------------------------------------------------------- +[tig "color"] # A strange looking cursor line - color cursor red default underline + cursor red default underline # UI colors - color title-blur white blue - color title-focus white blue bold + title-blur white blue + title-focus white blue bold ------------------------------------------------------------------------------ Area names:: @@ -275,7 +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. + 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:: @@ -283,45 +405,83 @@ Attribute names:: *standout*, and *underline*. Note, not all attributes may be supported by the terminal. - UI colors ~~~~~~~~~ --- - -Status window colors:: - -Appearance of the bottom window showing info messages. - -*status* - -Title window colors:: +The colors and attributes to be used for the text that is not highlighted or +that specify the use of the default terminal colors can be controlled by +setting the *default* color option. -Appearance of the title windows when they are attached -to any backgrounded windows and the current window. - -*title-blur*, *title-focus* - -Cursor line colors:: - -*cursor* +ifdef::backend-xhtml11[] +[frame="none"] +`-----------------------`----------------------------------------------------- +endif::backend-xhtml11[] +General: +------------------------------------------------------------------------------ +default Overwrite default terminal colors (see above). +cursor The cursor line. +status The status window showing info messages. +title-focus The title window for the current view. +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. +------------------------------------------------------------------------------ -Main view specific:: +ifdef::backend-xhtml11[] +[frame="none"] +`-----------------------`----------------------------------------------------- +endif::backend-xhtml11[] +Main view colors: +------------------------------------------------------------------------------ +main-revgraph The revision graph. +main-commit The commit comment. +main-head Label of the current branch. +main-remote Label of a remote. +main-tracked Label of the remote tracked by the current branch. +main-tag Label of a signed tag. +main-local-tag Label of a local tag. +main-ref Label of any other reference. +------------------------------------------------------------------------------ -Appearance of the various columns in the main view, including the '~' used for -delimiting long author names and labels for tag and branch references. +ifdef::backend-xhtml11[] +[frame="none"] +`-----------------------`----------------------------------------------------- +endif::backend-xhtml11[] +Status view: +------------------------------------------------------------------------------ +stat-head The "On branch"-line. +stat-section Status section titles, +stat-staged Status flag of staged files. +stat-unstaged Status flag of unstaged files. +stat-untracked Status flag of untracked files. +------------------------------------------------------------------------------ -*main-date*, *main-author*, *main-commit*, *main-delim*, *main-tag*, -*main-ref*, *main-remote* +ifdef::backend-xhtml11[] +[frame="none"] +`-----------------------`----------------------------------------------------- +endif::backend-xhtml11[] +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 ~~~~~~~~~~~~ -The colors and attributes for text that is not highlighted can be controlled -by changing the *default* color option. - -- Diff markup:: @@ -336,7 +496,7 @@ Extra diff information emitted by the git diff machinery, such as mode changes, rename detection, and similarity. *diff-oldmode*, *diff-newmode*, *diff-copy-from*, *diff-copy-to*, -*diff-rename-from*, *diff-rename-to*, *diff-similarity* *diff-dissimilarity* +*diff-rename-from*, *diff-rename-to*, *diff-similarity*, *diff-dissimilarity* *diff-tree*, *diff-index* Pretty print commit headers:: @@ -345,7 +505,8 @@ Commit diffs and the revision logs are usually formatted using pretty printed headers , unless `--pretty=raw` was given. This includes lines, such as merge info, commit ID, and author and committer date. -*pp-author*, *pp-commit*, *pp-merge*, *pp-date*, *pp-adate*, *pp-cdate* +*pp-author*, *pp-commit*, *pp-merge*, *pp-date*, *pp-adate*, *pp-cdate*, +*pp-refs* Raw commit header:: @@ -360,14 +521,21 @@ For now only `Signed-off-by` and `Acked-by` lines are colorized. *signoff*, *acked* +Tree markup:: + +Colors for information of the tree view. + +*tree-dir*, *tree-file* + -- COPYRIGHT --------- -Copyright (c) 2006-2007 Jonas Fonseca +Copyright (c) 2006-2009 Jonas Fonseca Licensed under the terms of the GNU General Public License. SEE ALSO -------- -gitlink: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].