# Tig default configuration # # Please see 'man tigrc' for a complete reference. # Settings # -------- # Most of these settings can be toggleable, either via the toggle-* # actions or via the option menu (bound to `o` by default). # View settings # # Supported column types and their options: # # author # - display (enum) [no|full|abbreviated|email|email-user] # : Show author information? # - width (int) : Fixed width when nonzero # - maxwidth (int) : Autosize limit # # commit-title # - display (bool) : Show the commit title? # - graph (enum) [no|v2|v1] : Show the commit graph? (main view only) # - refs (bool) : Show branches, tags and remotes? (main view only) # - overflow (boolint) : Highlight overflows? Defaults to 50 when enabled. # # date # - display (enum) [no|default|relative|relative-compact|custom] # : Show dates? # - local (bool) : Show local dates? # - format (string) : Custom strftime(3) format # Note: %Z is formatted as %z # - width (int) : Fixed width when nonzero # # file-name # - display (enum) [no|always|auto] : Show file names? # - width (int) : Fixed width when nonzero # - maxwidth (int) : Autosize limit # # file-size # - display (enum) [no|default|units] # : Show file sizes? # - width (int) : Fixed width when nonzero # # id # - display (bool) : Show commit/tree ID? # - width (int) : Fixed width when nonzero # # line-number # - display (bool) : Show line numbers? # - interval (int) : Interval between line numbers; defaults to 5 # - width (int) : Fixed width when nonzero # # mode # - display (bool) : Show file modes? # - width (int) : Fixed width when nonzero # # ref # - display (bool) : Show ref names? # - width (int) : Fixed width when nonzero # - maxwidth (int) : Autosize limit # # status # - display (enum) [no|short|long] : Show status label? # # text # - display (bool) : Show text? # - commit-title-overflow (boolint) : Highlight overflow in log and diff view? # set blame-view = id:yes,color file-name:auto author:full date:default line-number:yes,interval=1 text set grep-view = file-name:no line-number:yes,interval=1 text set main-view = line-number:no,interval=5 id:no date:default author:full commit-title:yes,graph,refs,overflow=no set refs-view = line-number:no id:no date:default author:full ref commit-title set stash-view = line-number:no,interval=5 id:no date:default author:full commit-title set status-view = line-number:no,interval=5 status:short file-name set tree-view = line-number:no,interval=5 mode author:full file-size date:default id:no file-name # Pager based views set pager-view = line-number:no,interval=5 text set stage-view = line-number:no,interval=5 text set log-view = line-number:no,interval=5 text set blob-view = line-number:no,interval=5 text set diff-view = line-number:no,interval=5 text:yes,commit-title-overflow=no # UI display settings set show-changes = yes # Show changes commits in the main view? set wrap-lines = no # Wrap long lines in pager views? set tab-size = 8 # Number of spaces to use when expanding tabs set line-graphics = default # Enum: ascii, default, utf-8 set truncation-delimiter = ~ # Character drawn for truncations, or "utf-8" # Format reference names based on type. # - head : The current HEAD. # - tag : A signed tag. # - local-tag : An unsigned tag. # - remote : A remote. # - tracked-remote : The remote tracked by current HEAD. # - replace : A replaced reference. # - branch : Any other reference. # If no format is defined for `local-tag` then the one for `tag` is used. # Similarly, `remote` is used if no `tracked-remote` format exists. # Prefix with `hide:` to not show that reference type, e.g. `hide:remote`. # Expects a space-separated list of format strings. set reference-format = [branch] {remote} ~replace~ # Settings controlling how content is read from Git set commit-order = auto # Enum: auto, default, topo, date, reverse (main) set status-show-untracked-dirs = yes # Show files in untracked directories? (status) set status-show-untracked-files = yes # Show untracked files? set ignore-space = no # Enum: no, all, some, at-eol (diff) set show-notes = yes # When non-bool passed as `--show-notes=...` (diff) #set diff-context = 3 # Number of lines to show around diff changes (diff) #set diff-options = -C # User-defined options for `tig show` (git-diff) #set diff-highlight = true # String (or bool): Path to diff-highlight script, # defaults to `diff-highlight`. #set blame-options = -C -C -C # User-defined options for `tig blame` (git-blame) #set log-options = --pretty=raw # User-defined options for `tig log` (git-log) #set main-options = -n 1000 # User-defined options for `tig` (git-log) #set mailmap = yes # Use .mailmap to show canonical name and email address # Misc set refresh-mode = auto # Enum: manual, auto, after-command, periodic set refresh-interval = 10 # Interval in seconds between refreshes set ignore-case = no # Enum: no, yes, smart-case # Ignore case when searching? Smart-case option will set wrap-search = yes # Wrap around to top/bottom of view when searching set focus-child = yes # Move focus to child view when opened? set horizontal-scroll = 50% # Number of columns to scroll as % of width set split-view-height = 67% # Height of the bottom view for horizontal splits set vertical-split = auto # Enum: horizontal, vertical, auto; Use auto to # switch to horizontal split when width allows it set split-view-width = 50% # Width of right-most view for vertical splits set editor-line-number = yes # Automatically pass line number to editor? Used # for opening file at specific line e.g. from a diff set history-size = 500 # Size of persistent history, 0 to disable set mouse = no # Enable mouse support? set mouse-scroll = 3 # Number of lines to scroll via the mouse set mouse-wheel-cursor = no # Prefer moving the cursor to scrolling the view? # User-defined commands # --------------------- # These commands allow to run shell commands directly from within Tig. # Unless otherwise specified, commands are run in the foreground with # their console output shown (as if '!' was specified). When multiple # command options are specified their behavior are combined, e.g. "? Re-open Tig instantly in the last displayed view after executing the command. # # User-defined commands can optionally refer to Tig's internal state # using the following variable names, which are substituted before # commands are run: # # %(head) The current ref ID. Defaults to HEAD # %(commit) The current commit ID. # %(blob) The current blob ID. # %(branch) The current branch name. # %(remote) The current remote name. # %(tag) The current tag name. # %(stash) The current stash name. # %(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. # %(revargs) The revision arguments passed on the command line. # %(fileargs) The file arguments passed on the command line. # %(cmdlineargs) All other options passed on the command line. # %(diffargs) The diff options from `diff-options` or `TIG_DIFF_OPTS` # %(prompt) Prompt for the argument value. bind main C !git checkout %(prompt) bind status C !git commit bind stash A ?git stash apply %(stash) bind stash P ?git stash pop %(stash) bind stash ! ?git stash drop %(stash) bind refs C ?git checkout %(branch) bind refs ! ?git branch -D %(branch) # Normal commands # --------------- # View switching bind generic m view-main bind generic d view-diff bind generic l view-log bind generic t view-tree bind generic f view-blob bind generic b view-blame bind generic r view-refs bind generic p view-pager bind generic h view-help bind generic s view-status bind generic S view-status # Compat binding to avoid going crazy! bind generic c view-stage bind generic y view-stash bind generic g view-grep # View manipulation bind generic enter # Enter and open selected entry bind generic back # Go back to the previous view state bind generic next # Move to next bind generic next bind generic J next bind generic previous # Move to previous bind generic previous bind generic K previous bind generic , parent # Move to parent bind generic view-next # Move focus to the next view bind generic R refresh # Reload and refresh view bind generic refresh bind generic O maximize # Maximize the current view bind generic q view-close # Close the current view bind generic Q quit # Close all views and quit bind generic quit # Close all views and quit # View specific bind status u status-update # Stage/unstage changes in file bind status ! status-revert # Revert changes in file bind status M status-merge # Open git-mergetool(1) #bind status ??? :toggle status # Show short or long status labels bind stage u status-update # Stage/unstage current diff (c)hunk bind stage 1 stage-update-line # Stage/unstage current line bind stage ! status-revert # Revert current diff (c)hunk bind stage \ stage-split-chunk # Split current diff (c)hunk bind stage @ :/^@@ # Jump to next (c)hunk bind stage [ :toggle diff-context -1 # Decrease the diff context bind stage ] :toggle diff-context +1 # Increase the diff context bind diff @ :/^@@ # Jump to next (c)hunk bind diff [ :toggle diff-context -1 bind diff ] :toggle diff-context +1 bind main G :toggle commit-title-graph # Toggle revision graph visualization bind main F :toggle commit-title-refs # Toggle reference display (tags/branches) bind main b !@git branch %(prompt) %(commit) # Create new branch bind main M !@git branch -f %(prompt) %(commit) # Force move/create a branch bind main d !?@git branch -d %(prompt) # Delete branch # Cursor navigation bind generic j move-down bind generic k move-up bind generic move-half-page-down bind generic move-half-page-up bind generic move-page-down bind generic move-page-down bind generic move-page-up bind generic - move-page-up bind generic move-first-line bind generic move-last-line # Scrolling bind generic | scroll-first-col bind generic scroll-left bind generic scroll-right bind generic scroll-line-up bind generic scroll-line-up bind generic scroll-line-down bind generic scroll-line-down bind generic scroll-page-up bind generic scroll-page-down # Searching bind generic / search bind generic ? search-back bind generic n find-next bind generic N find-prev # Navigation keys used while searching bind search find-next bind search find-next bind search find-next bind search find-prev bind search find-prev bind search find-prev bind search view-close # Option manipulation bind generic o options # Open the options menu # Bindings for toggling settings bind generic I :toggle sort-order # Toggle ascending/descending sort order bind generic i :toggle sort-field # Toggle field to sort by bind generic :toggle line-number # Toggle line numbers bind generic D :toggle date # Toggle date display bind generic A :toggle author # Toggle author display bind generic ~ :toggle line-graphics # Toggle (line) graphics mode bind generic F :toggle file-name # Toggle file name display # bind generic ??? :toogle show-changes # Toggle local changes display in the main view bind generic W :toggle ignore-space # Toggle ignoring whitespace in diffs # bind generic ? :toggle commit-order # Toggle commit ordering bind generic X :toggle id # Toggle commit ID display bind generic $ :toggle commit-title-overflow # Toggle highlighting of commit title overflow # bind generic ??? :toggle file-size # Toggle file size format # bind generic ??? :toggle status # Toggle status display # bind generic ??? :toggle status-show-untracked-dirs # Toggle display of file in untracked directories # bind generic ??? :toggle vertical-split # Toggle vertical split bind generic % :toggle file-filter # Misc bind generic e edit # Open in editor bind generic : prompt # Open the prompt bind generic screen-redraw # Redraw the screen bind generic z stop-loading # Stop all loading views bind generic v show-version # Show Tig version bind generic x !@sh -c "echo -n %(commit) | xclip -selection c" # Copy Hash to Clipboard # Colors # ------ # The colors in the UI can be customized. In addition to the colors used # for the UI you can also define new colors to use in the pager, blob, # diff, and stage views by placing the text to match for in quotes. # # Prefix the name of a view to set a color only for that view, e.g. # # color grep.file blue default # # As an example, this setting will to color Signed-off-by lines with a # yellow foreground color and use the default background color. # # color " Signed-off-by" yellow default # # Note the four leading spaces in the string to match. This is because # Git automatically indents commit messages by four spaces. # general color default 15 235 color cursor 15 241 color title-focus 242 221 color title-blur 242 221 color delimiter 213 default color author 156 default color date 81 default color line-number 221 default color mode 255 default # main color main-tag 213 default bold color main-local-tag 213 default color main-remote 221 default color main-replace 81 default color main-tracked 221 default bold color main-ref 81 default color main-head 213 default bold color graph-commit 226 default # status #color stat-head 81 default # Diff colors color diff_add 10 default color diff_add2 10 default color diff_del 196 default color diff_del2 196 default color diff-header 221 default color diff-index 81 default color diff-chunk 213 default color diff_oldmode 221 default color diff_newmode 221 default color 'deleted file mode' 221 default color 'copy from' 223 default color 'copy to' 221 default color 'rename from' 221 default color 'rename to' 221 default color diff_similarity 221 default color 'dissimilarity' 221 default color 'diff_tree' 81 default color diff-stat 81 default color "Reported-by:" 156 default color 'Author:' 156 default color 'Commit:' 213 default color 'AuthorDate:' 221 default color 'CommitDate:' 221 default color 'Date:' 81 default color pp_refs 213 default color palette-0 226 default color palette-1 213 default color palette-2 118 default color palette-3 51 default color palette-4 196 default color palette-5 219 default color palette-6 190 default # status color status.header 221 default color status.section 81 default color stat_staged 213 default color stat_unstaged 213 default color stat_untracked 213 default # raw commit header color commit 156 default color committer 213 default # commit message color 'Signed-off-by' 221 default color 'Acked-by' 221 default color 'Tested-by' 221 default color 'Reviewed-by' 221 default # tree color tree.directory 221 default # LINE(PALETTE_0, "", COLOR_MAGENTA, COLOR_DEFAULT, 0), \ # LINE(PALETTE_1, "", COLOR_YELLOW, COLOR_DEFAULT, 0), \ # LINE(PALETTE_2, "", COLOR_CYAN, COLOR_DEFAULT, 0), \ # LINE(PALETTE_3, "", COLOR_GREEN, COLOR_DEFAULT, 0), \ # LINE(PALETTE_4, "", COLOR_DEFAULT, COLOR_DEFAULT, 0), \ # LINE(PALETTE_5, "", COLOR_WHITE, COLOR_DEFAULT, 0), \ # LINE(PALETTE_6, "", COLOR_RED, )