Created
August 9, 2019 11:23
-
-
Save rinthel/5b8e36dc72b7a5b6d60d0e4d4bc72266 to your computer and use it in GitHub Desktop.
my tig setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# version: 2.3.0-1 (installed from sudo apt-get install tig) | |
# 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? | |
# 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 | |
# | |
# file-name | |
# - display (enum) [no|always|auto] : Show file names? | |
# | |
# file-size | |
# - display (enum) [no|default|units] : Show file sizes? | |
# | |
# id | |
# - display (bool) : Show commit/tree ID? | |
# | |
# line-number | |
# - display (bool) : Show line numbers? | |
# - interval (int) : Interval between line numbers; defaults to 5 | |
# | |
# mode | |
# - display (bool) : Show file modes? | |
# | |
# 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? | |
# | |
# All columns also support a width option to configure the max width of | |
# the column. Use zero (the default value) to auto-size the column based | |
# on the content. | |
set blame-view = date:default author:full file-name:auto id:yes,color line-number:no,interval=5 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] <tag> {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. "?<git | |
# commit" will prompt the user whether to execute the command and will | |
# exit Tig after completion. | |
# | |
# ! Run the command in the foreground with output shown. | |
# @ Run the command in the background with no output. | |
# ? Prompt the user before executing the command. | |
# < Exit Tig 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 cherry-pick %(commit) | |
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) | |
bind main <C-F> !git fetch --all --prune # fetch all remote | |
bind refs U !git pull # pull current | |
bind refs @ ?git push %(remote) --delete %(branch) # delete remote branch | |
bind main ! ?git reset --hard %(commit) | |
# 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 # Enter and open selected entry | |
bind generic <Lt> back # Go back to the previous view state | |
bind generic <Down> next # Move to next | |
bind generic <C-N> next | |
bind generic J next | |
bind generic <Up> previous # Move to previous | |
bind generic <C-P> previous | |
bind generic K previous | |
bind generic , parent # Move to parent | |
bind generic <Tab> view-next # Move focus to the next view | |
bind generic R refresh # Reload and refresh view | |
bind generic <F5> 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 <C-C> 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) | |
# Cursor navigation | |
bind generic j move-down | |
bind generic k move-up | |
bind generic <C-D> move-half-page-down | |
bind generic <C-U> move-half-page-up | |
bind generic <PgDown> move-page-down | |
bind generic <Space> move-page-down | |
bind generic <PgUp> move-page-up | |
bind generic - move-page-up | |
bind generic <Home> move-first-line | |
bind generic <End> move-last-line | |
# Scrolling | |
bind generic | scroll-first-col | |
bind generic <Left> scroll-left | |
bind generic <Right> scroll-right | |
bind generic <Ins> scroll-line-up | |
bind generic <C-Y> scroll-line-up | |
bind generic <Del> scroll-line-down | |
bind generic <C-E> scroll-line-down | |
bind generic <SBack> scroll-page-up | |
bind generic <SFwd> 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 <Down> find-next | |
bind search <C-N> find-next | |
bind search <C-J> find-next | |
bind search <Up> find-prev | |
bind search <C-P> find-prev | |
bind search <C-K> find-prev | |
bind search <C-C> 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 <Hash> :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 <C-L> screen-redraw # Redraw the screen | |
bind generic z stop-loading # Stop all loading views | |
bind generic v show-version # Show Tig version | |
# 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. | |
color "---" blue default | |
color "diff --" yellow default | |
color "--- " yellow default | |
color "+++ " yellow default | |
color "@@" magenta default | |
color "+" green default | |
color " +" green default | |
color "-" red default | |
color " -" red default | |
color "index " blue default | |
color "old file mode " yellow default | |
color "new file mode " yellow default | |
color "deleted file mode " yellow default | |
color "copy from " yellow default | |
color "copy to " yellow default | |
color "rename from " yellow default | |
color "rename to " yellow default | |
color "similarity " yellow default | |
color "dissimilarity " yellow default | |
color "diff-tree " blue default | |
color "Author: " cyan default | |
color "Commit: " magenta default | |
color "Tagger: " magenta default | |
color "Merge: " blue default | |
color "Date: " yellow default | |
color "AuthorDate: " yellow default | |
color "CommitDate: " yellow default | |
color "TaggerDate: " yellow default | |
color "Refs: " red default | |
color "Reflog: " red default | |
color "Reflog message: " yellow default | |
color "stash@{" magenta default | |
color "commit " green default | |
color "parent " blue default | |
color "tree " blue default | |
color "author " green default | |
color "committer " magenta default | |
color " Signed-off-by" yellow default | |
color " Acked-by" yellow default | |
color " Tested-by" yellow default | |
color " Reviewed-by" yellow default | |
color default default default normal | |
color cursor white green bold | |
color status green default | |
color delimiter magenta default | |
color date blue default | |
color mode cyan default | |
color id magenta default | |
color overflow red default | |
color header yellow default | |
color section cyan default | |
color directory yellow default | |
color file default default | |
color grep.file blue default | |
color file-size default default | |
color line-number cyan default | |
color title-blur white blue | |
color title-focus white blue bold | |
color main-commit default default | |
color main-tag magenta default bold | |
color main-local-tag magenta default | |
color main-remote yellow default | |
color main-replace cyan default | |
color main-tracked yellow default bold | |
color main-ref cyan default | |
color main-head cyan default bold | |
color stat-none default default | |
color stat-staged magenta default | |
color stat-unstaged magenta default | |
color stat-untracked magenta default | |
color help-group blue default | |
color help-action yellow default | |
color diff-stat blue default | |
color diff-add-highlight green default standout | |
color diff-del-highlight red default standout | |
color palette-0 magenta default | |
color palette-1 yellow default | |
color palette-2 cyan default | |
color palette-3 green default | |
color palette-4 default default | |
color palette-5 white default | |
color palette-6 red default | |
color palette-7 magenta default bold | |
color palette-8 yellow default bold | |
color palette-9 cyan default bold | |
color palette-10 green default bold | |
color palette-11 default default bold | |
color palette-12 white default bold | |
color palette-13 red default bold | |
color graph-commit blue default | |
color search-result black yellow | |
# Mappings for colors read from git configuration. | |
# Set to "no" to disable. | |
set git-colors = \ | |
branch.current=main-head \ | |
branch.local=main-ref \ | |
branch.plain=main-ref \ | |
branch.remote=main-remote \ | |
\ | |
diff.meta=diff-header \ | |
diff.meta=diff-index \ | |
diff.meta=diff-oldmode \ | |
diff.meta=diff-newmode \ | |
diff.frag=diff-chunk \ | |
diff.old=diff-del \ | |
diff.new=diff-add \ | |
\ | |
diff-highlight.oldHighlight=diff-del-highlight \ | |
diff-highlight.newHighlight=diff-add-highlight \ | |
\ | |
grep.filename=grep.file \ | |
grep.linenumber=grep.line-number \ | |
grep.separator=grep.delimiter \ | |
\ | |
status.branch=status.header \ | |
status.added=stat-staged \ | |
status.updated=stat-staged \ | |
status.changed=stat-unstaged \ | |
status.untracked=stat-untracked |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment