| 1 | tigrc(5) |
| 2 | ======== |
| 3 | |
| 4 | NAME |
| 5 | ---- |
| 6 | tigrc - tig user configuration file |
| 7 | |
| 8 | |
| 9 | SYNOPSIS |
| 10 | -------- |
| 11 | [verse] |
| 12 | ............................................................................. |
| 13 | *set* 'variable' *=* 'value' |
| 14 | *bind* 'keymap' 'key' 'action' |
| 15 | *color* 'area' 'fgcolor' 'bgcolor' '[attributes]' |
| 16 | ............................................................................. |
| 17 | |
| 18 | |
| 19 | DESCRIPTION |
| 20 | ----------- |
| 21 | |
| 22 | You can permanently set an option by putting it in the `~/.tigrc` file. The |
| 23 | file consists of a series of 'commands'. Each line of the file may contain |
| 24 | only one command. |
| 25 | |
| 26 | The hash mark ('#') is used as a 'comment' character. All text after the |
| 27 | comment character to the end of the line is ignored. You can use comments to |
| 28 | annotate your initialization file. |
| 29 | |
| 30 | |
| 31 | Set command |
| 32 | ----------- |
| 33 | |
| 34 | A few selective variables can be configured via the set command. The syntax |
| 35 | is: |
| 36 | |
| 37 | [verse] |
| 38 | .............................................................................. |
| 39 | *set* variables *=* value |
| 40 | .............................................................................. |
| 41 | |
| 42 | Examples: |
| 43 | |
| 44 | -------------------------------------------------------------------------- |
| 45 | set show-author = yes # Show author? |
| 46 | set show-date = yes # Show commit date? |
| 47 | set show-rev-graph = yes # Show revision graph? |
| 48 | set show-refs = yes # Show references? |
| 49 | set show-line-numbers = no # Show line numbers? |
| 50 | set line-number-interval = 5 # Interval between line numbers |
| 51 | set tab-size = 8 # Number of spaces per tab |
| 52 | set encoding = "UTF-8" # Commit encoding |
| 53 | -------------------------------------------------------------------------- |
| 54 | |
| 55 | The type of variables are either bool, int, and string. |
| 56 | |
| 57 | Valid bool values:: |
| 58 | |
| 59 | To set a bool variable to true use either "1", "true", or "yes". |
| 60 | Any other value will set the variable to false. |
| 61 | |
| 62 | Valid int values:: |
| 63 | |
| 64 | A non-negative integer. |
| 65 | |
| 66 | Valid string values:: |
| 67 | |
| 68 | A string of characters. Optionally, use either ' or " as delimiters. |
| 69 | |
| 70 | Variables |
| 71 | ~~~~~~~~~ |
| 72 | |
| 73 | The following variables can be set: |
| 74 | |
| 75 | 'show-author' (bool):: |
| 76 | 'show-date' (bool):: |
| 77 | 'show-rev-graph' (bool):: |
| 78 | 'show-refs' (bool):: |
| 79 | |
| 80 | Whether to show author, date, revision graph, and references |
| 81 | (branches, tags, and remotes) in the main view on start-up. Can all be |
| 82 | toggled. |
| 83 | |
| 84 | 'line-number-interval' (int):: |
| 85 | |
| 86 | Interval between line numbers. Note, you have to toggle on line |
| 87 | numbering with 'n' or the `-n` command line option. The default is to |
| 88 | number every line. |
| 89 | |
| 90 | 'tab-size' (int):: |
| 91 | |
| 92 | Number of spaces per tab. The default is 8 spaces. |
| 93 | |
| 94 | 'commit-encoding' (string):: |
| 95 | |
| 96 | The encoding used for commits. The default is UTF-8. Not this option |
| 97 | is shadowed by the "i18n.commitencoding" option in `.git/config`. |
| 98 | |
| 99 | |
| 100 | Bind command |
| 101 | ------------ |
| 102 | |
| 103 | Using bind commands keys can be mapped to an action when pressed in a given |
| 104 | key map. The syntax is: |
| 105 | |
| 106 | [verse] |
| 107 | .............................................................................. |
| 108 | *bind* 'keymap' 'key' 'action' |
| 109 | .............................................................................. |
| 110 | |
| 111 | Examples: |
| 112 | |
| 113 | -------------------------------------------------------------------------- |
| 114 | # A few keybindings |
| 115 | bind main w scroll-line-up |
| 116 | bind main s scroll-line-down |
| 117 | bind main space enter |
| 118 | bind diff a previous |
| 119 | bind diff d next |
| 120 | bind diff b move-first-line |
| 121 | # 'unbind' the default quit key binding |
| 122 | bind main Q none |
| 123 | # An external command to update from upstream |
| 124 | bind generic F !git fetch |
| 125 | # Cherry-pick current commit unto current branch |
| 126 | bind generic C !git cherry-pick %(commit) |
| 127 | -------------------------------------------------------------------------- |
| 128 | |
| 129 | Keys are mapped by first searching the keybindings for the current view, then |
| 130 | the keybindings for the *generic* keymap, and last the default keybindings. |
| 131 | Thus, the view keybindings shadow the generic keybindings which Shadow the |
| 132 | built-in keybindings. |
| 133 | |
| 134 | -- |
| 135 | |
| 136 | Keymaps:: |
| 137 | |
| 138 | Valid keymaps are: *main*, *diff*, *log*, *help*, *pager*, *status*, *stage*, |
| 139 | and *generic*. Use *generic* to set key mapping in all keymaps. |
| 140 | |
| 141 | Key values:: |
| 142 | |
| 143 | Key values should never be quoted. Use either the ASCII value or one of the |
| 144 | following symbolic key names. Symbolic key names are case insensitive, Use |
| 145 | *Hash* to bind to the `#` key, since the hash mark is used as a comment |
| 146 | character. |
| 147 | |
| 148 | *Enter*, *Space*, *Backspace*, *Tab*, *Escape*, *Left*, *Right*, *Up*, *Down*, |
| 149 | *Insert*, *Delete*, *Hash*, *Home*, *End*, *PageUp*, *PageDown*, *F1*, *F2*, *F3*, |
| 150 | *F4*, *F5*, *F6*, *F7*, *F8*, *F9*, *F10*, *F11*, *F12*. |
| 151 | |
| 152 | Action names:: |
| 153 | |
| 154 | Valid action names are described below. Note, all names are |
| 155 | case-insensitive, and you may use '-', '_', and '.' interchangeably, |
| 156 | e.g. "view-main", "View.Main", and "VIEW_MAIN" are the same. |
| 157 | |
| 158 | -- |
| 159 | |
| 160 | Actions |
| 161 | ~~~~~~~ |
| 162 | |
| 163 | Apart from the action names listed below, all actions starting with a '!' will |
| 164 | be available as an external command. External commands can contain variable |
| 165 | names that will be substituted before the command is run. Valid variable names |
| 166 | are "%(head)", "%(commit)", and "%(blob)". |
| 167 | |
| 168 | As an example, the following external command will save the current commit as |
| 169 | a patch file: "!git format-patch %(commit)^..%(commit)". |
| 170 | |
| 171 | ifdef::backend-xhtml11[] |
| 172 | [frame="none"] |
| 173 | `-----------------------`----------------------------------------------------- |
| 174 | endif::backend-xhtml11[] |
| 175 | View switching: |
| 176 | ------------------------------------------------------------------------------ |
| 177 | view-main Show main view |
| 178 | view-diff Show diff view |
| 179 | view-log Show log view |
| 180 | view-tree Show tree view |
| 181 | view-blob Show blob view |
| 182 | view-blame Show blame view |
| 183 | view-status Show status view |
| 184 | view-stage Show stage view |
| 185 | view-pager Show pager view |
| 186 | view-help Show help page |
| 187 | ------------------------------------------------------------------------------ |
| 188 | |
| 189 | ifdef::backend-xhtml11[] |
| 190 | [frame="none"] |
| 191 | `-----------------------`----------------------------------------------------- |
| 192 | endif::backend-xhtml11[] |
| 193 | View manipulation: |
| 194 | ------------------------------------------------------------------------------ |
| 195 | enter Enter current line and scroll |
| 196 | next Move to next |
| 197 | previous Move to previous |
| 198 | view-next Move focus to next view |
| 199 | refresh Reload and refresh view |
| 200 | view-close Close the current view |
| 201 | quit Close all views and quit |
| 202 | ------------------------------------------------------------------------------ |
| 203 | |
| 204 | ifdef::backend-xhtml11[] |
| 205 | [frame="none"] |
| 206 | `-----------------------`----------------------------------------------------- |
| 207 | endif::backend-xhtml11[] |
| 208 | Cursor navigation: |
| 209 | ------------------------------------------------------------------------------ |
| 210 | move-up Move cursor one line up |
| 211 | move-down Move cursor one line down |
| 212 | move-page-down Move cursor one page down |
| 213 | move-page-up Move cursor one page up |
| 214 | move-first-line Move cursor to first line |
| 215 | move-last-line Move cursor to last line |
| 216 | ------------------------------------------------------------------------------ |
| 217 | |
| 218 | ifdef::backend-xhtml11[] |
| 219 | [frame="none"] |
| 220 | `-----------------------`----------------------------------------------------- |
| 221 | endif::backend-xhtml11[] |
| 222 | Scrolling: |
| 223 | ------------------------------------------------------------------------------ |
| 224 | scroll-line-up Scroll one line up |
| 225 | scroll-line-down Scroll one line down |
| 226 | scroll-page-eup Scroll one page up |
| 227 | scroll-page-down Scroll one page down |
| 228 | ------------------------------------------------------------------------------ |
| 229 | |
| 230 | ifdef::backend-xhtml11[] |
| 231 | [frame="none"] |
| 232 | `-----------------------`----------------------------------------------------- |
| 233 | endif::backend-xhtml11[] |
| 234 | Searching: |
| 235 | ------------------------------------------------------------------------------ |
| 236 | search Search the view |
| 237 | search-back Search backwards in the view |
| 238 | find-next Find next search match |
| 239 | find-prev Find previous search match |
| 240 | ------------------------------------------------------------------------------ |
| 241 | |
| 242 | ifdef::backend-xhtml11[] |
| 243 | [frame="none"] |
| 244 | `-----------------------`----------------------------------------------------- |
| 245 | endif::backend-xhtml11[] |
| 246 | Misc: |
| 247 | ------------------------------------------------------------------------------ |
| 248 | none Do nothing |
| 249 | prompt Bring up the prompt |
| 250 | screen-redraw Redraw the screen |
| 251 | screen-resize Resize the screen |
| 252 | show-version Show version information |
| 253 | stop-loading Stop all loading views |
| 254 | toggle-lineno Toggle line numbers |
| 255 | toggle-date Toggle date display |
| 256 | toggle-author Toggle author display |
| 257 | toggle-rev-graph Toggle revision graph visualization |
| 258 | toggle-refs Toggle reference display |
| 259 | status-update Update file status |
| 260 | status-merge Resolve unmerged file |
| 261 | tree-parent Switch to parent directory in tree view |
| 262 | edit Open in editor |
| 263 | ------------------------------------------------------------------------------ |
| 264 | |
| 265 | |
| 266 | Color command |
| 267 | ------------- |
| 268 | |
| 269 | Color commands control highlighting and the user interface styles. If your |
| 270 | terminal supports color, these commands can be used to assign foreground and |
| 271 | background combinations to certain areas. Optionally, an attribute can be |
| 272 | given as the last parameter. The syntax is: |
| 273 | |
| 274 | [verse] |
| 275 | .............................................................................. |
| 276 | *color* 'area' 'fgcolor' 'bgcolor' '[attributes]' |
| 277 | .............................................................................. |
| 278 | |
| 279 | Examples: |
| 280 | |
| 281 | ------------------------------------------------------------------------------ |
| 282 | # Overwrite the default terminal colors to white on black. |
| 283 | color default white black |
| 284 | # Diff colors |
| 285 | color diff-header yellow default |
| 286 | color diff-index blue default |
| 287 | color diff-chunk magenta default |
| 288 | # A strange looking cursor line |
| 289 | color cursor red default underline |
| 290 | # UI colors |
| 291 | color title-blur white blue |
| 292 | color title-focus white blue bold |
| 293 | ------------------------------------------------------------------------------ |
| 294 | |
| 295 | Area names:: |
| 296 | |
| 297 | Valid area names are described below. Note, all names are |
| 298 | case-insensitive, and you may use '-', '_', and '.' interchangeably, |
| 299 | e.g. "Diff-Header", "DIFF_HEADER", and "diff.header" are the same. |
| 300 | |
| 301 | Color names:: |
| 302 | |
| 303 | Valid colors include: *white*, *black*, *green*, *magenta*, *blue*, |
| 304 | *cyan*, *yellow*, *red*, *default*. Use *default* to refer to the |
| 305 | default terminal colors. |
| 306 | |
| 307 | Attribute names:: |
| 308 | |
| 309 | Valid attributes include: *normal*, *blink*, *bold*, *dim*, *reverse*, |
| 310 | *standout*, and *underline*. Note, not all attributes may be supported |
| 311 | by the terminal. |
| 312 | |
| 313 | UI colors |
| 314 | ~~~~~~~~~ |
| 315 | |
| 316 | -- |
| 317 | |
| 318 | Default terminal colors:: |
| 319 | |
| 320 | The colors and attributes to be used for the text that is not highlighted or |
| 321 | that specify the use of the default terminal colors can be controlled by |
| 322 | setting the *default* color option. |
| 323 | |
| 324 | Use the *default* color to use the colors configured for the terminal. This is |
| 325 | the default and recommended if you are using a terminal with a transparent |
| 326 | background. |
| 327 | |
| 328 | Status window colors:: |
| 329 | |
| 330 | Appearance of the bottom window showing info messages. |
| 331 | |
| 332 | *status* |
| 333 | |
| 334 | Title window colors:: |
| 335 | |
| 336 | Appearance of the title windows when they are attached |
| 337 | to any backgrounded windows and the current window. |
| 338 | |
| 339 | *title-blur*, *title-focus* |
| 340 | |
| 341 | Cursor line colors:: |
| 342 | |
| 343 | *cursor* |
| 344 | |
| 345 | Color of delimiter shown for truncated lines:: |
| 346 | |
| 347 | *delimiter* |
| 348 | |
| 349 | Main view specific:: |
| 350 | |
| 351 | Appearance of the various columns in the main view, including labels for tag |
| 352 | and branch references. |
| 353 | |
| 354 | *main-date*, *main-author*, *main-commit*, *main-tag*, *main-local-tag*, |
| 355 | *main-ref*, *main-remote*, *main-head*, *main-revgraph* |
| 356 | |
| 357 | Blame view colors:: |
| 358 | |
| 359 | The colors used for the blame view are similar to those in the main view. |
| 360 | The commit ID color can be colored using *blame-id*. |
| 361 | |
| 362 | *blame-date*, *blame-author*, *blame-commit*, *blame-id*, *blame-lineno* |
| 363 | |
| 364 | -- |
| 365 | |
| 366 | Highlighting |
| 367 | ~~~~~~~~~~~~ |
| 368 | |
| 369 | -- |
| 370 | |
| 371 | Diff markup:: |
| 372 | |
| 373 | Options concerning diff start, chunks and lines added and deleted. |
| 374 | |
| 375 | *diff-header*, *diff-chunk*, *diff-add*, *diff-del* |
| 376 | |
| 377 | Enhanced git diff markup:: |
| 378 | |
| 379 | Extra diff information emitted by the git diff machinery, such as mode |
| 380 | changes, rename detection, and similarity. |
| 381 | |
| 382 | *diff-oldmode*, *diff-newmode*, *diff-copy-from*, *diff-copy-to*, |
| 383 | *diff-rename-from*, *diff-rename-to*, *diff-similarity*, *diff-dissimilarity* |
| 384 | *diff-tree*, *diff-index* |
| 385 | |
| 386 | Pretty print commit headers:: |
| 387 | |
| 388 | Commit diffs and the revision logs are usually formatted using pretty printed |
| 389 | headers , unless `--pretty=raw` was given. This includes lines, such as merge |
| 390 | info, commit ID, and author and committer date. |
| 391 | |
| 392 | *pp-author*, *pp-commit*, *pp-merge*, *pp-date*, *pp-adate*, *pp-cdate*, |
| 393 | *pp-refs* |
| 394 | |
| 395 | Raw commit header:: |
| 396 | |
| 397 | Usually shown when `--pretty=raw` is given, however 'commit' is pretty much |
| 398 | omnipresent. |
| 399 | |
| 400 | *commit*, *parent*, *tree*, *author*, *committer* |
| 401 | |
| 402 | Commit message:: |
| 403 | |
| 404 | For now only `Signed-off-by` and `Acked-by` lines are colorized. |
| 405 | |
| 406 | *signoff*, *acked* |
| 407 | |
| 408 | Tree markup:: |
| 409 | |
| 410 | Colors for information of the tree view. |
| 411 | |
| 412 | *tree-dir*, *tree-file* |
| 413 | |
| 414 | Status markup:: |
| 415 | |
| 416 | Colors used in the status view for coloring the "On branch"-line, sections, |
| 417 | "no file" lines and the various file status groups. |
| 418 | |
| 419 | *stat-head*, *stat-section*, *stat-none*, *stat-staged*, *stat-unstaged*, |
| 420 | *stat-untracked* |
| 421 | |
| 422 | -- |
| 423 | |
| 424 | COPYRIGHT |
| 425 | --------- |
| 426 | Copyright (c) 2006-2007 Jonas Fonseca <fonseca@diku.dk> |
| 427 | |
| 428 | Licensed under the terms of the GNU General Public License. |
| 429 | |
| 430 | SEE ALSO |
| 431 | -------- |
| 432 | gitlink:tig[1] and the http://jonas.nitro.dk/tig/manual.html[tig manual]. |