-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tigrc
99 lines (80 loc) · 3.14 KB
/
.tigrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Settings
set main-view = line-number:no,interval=4 \
id:yes \
date:default \
author:full \
commit-title:yes,graph,refs,overflow=72
set line-graphics = utf-8
set show-changes = yes
set show-untracked = no
set tab-size = 4
set ignore-case = true
# Keybindings
#
# ! Run the command in the foreground with output shown.
# @ Run the command in the background with no output.
# + Run the command synchronously, and echo the first line
# of output to the status bar.
# ? Prompt the user before executing the command.
# < Exit Tig after executing the command.
# > Re-open Tig instantly in the last displayed view after
# executing the command.
#
bind generic h scroll-left
bind generic l scroll-right
bind generic g none
bind generic gg move-first-line
bind main G move-last-line
bind generic G move-last-line
bind generic <C-H> back
bind generic <C-L> view-next
bind generic H view-help
bind generic <C-E> !sh -c 'git-rebase-noninteractive-single --edit %(commit)'
bind generic <C-R> !sh -c 'git-rebase-noninteractive-single --reword %(commit)'
bind generic f refresh
bind main R !git rebase --autostash -i %(commit)^
bind diff R !git rebase --autostash -i %(commit)^
# @TODO
# bind diff ! !notify-send qwe %(text)^
bind main ! >git revert %(commit)
bind generic C !git commit
bind main C >git commit
bind main A >git commit --amend
bind generic <F8> >git-debug-commitpush
bind main c !?git checkout %(commit)
bind main p ?sh -c "echo 'branch: %(branch)'; git push"
bind main P ?git cherry-pick %(commit)
bind generic T !@sh -c "git-stage-all-unstaged-changes"
bind main I !@sh -c "git-stage-all-unstaged-changes"
bind stage I !@sh -c "git-stage-all-unstaged-changes"
bind status D !@?rm %(file)
bind stage U @!git stage %(file)
bind refs 1 @?git tag -d %(tag)
bind refs D !?git push %(remote) --delete %(branch)
bind refs C !?git checkout -b %(tag) %(tag)
bind refs c !?git checkout -b %(tag) %(tag)
bind generic S ?git format-patch -1 -N %(commit)
bind generic <C-P> ?git format-patch -1 -N %(commit)
# copy commit ID to clipboard
bind generic V !@sh -c "termpopup --no-escape --no-float --no-wait -- git show \\\"%(commit)\\\" \\\| vim -"
bind generic <C-G> +@sh -c "termpopup --no-escape --no-float -- git-review-forced ';' echo '' ';' echo '→ DONE ←' ';' sleep 1.2; echo git-review done"
bind generic <C-C> +@sh -c "echo -n \"%(commit)\" | xclip -selection c; echo \"copied %(commit)\""
bind generic <Space> +@sh -c "cb -a -s \" %(commit)\"; echo \"appended %(commit)\""
bind generic <C-B> +@sh -c "git show --format='%B' --quiet \"%(commit)\" | xclip -selection c; echo \"copied message for %(commit)\""
bind generic <C-s> !@?git stash
bind generic E !@code -g %(file):%(lineno)
bind diff 7 !git diff %(commit)^ %(commit)
# Colors
color author green default
color cursor black yellow
color date yellow default
color graph-commit green default
color main-head magenta default
color main-tag magenta default
color stat-staged green default
color stat-unstaged red default
color stat-untracked yellow default
color status white default
color title-focus white black
color tree.directory cyan default
color tree.header white default