aboutsummaryrefslogtreecommitdiffhomepage
path: root/tigrc
blob: 879de8c0567938fa6c3b2f69ffcb769b487876ec (plain)
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
# ref:
# https://qiita.com/sfus/items/063797a1dd8fdc7d032f
# https://github.com/jonas/tig/wiki/Bindings

# geineric
bind generic x :toggle id
bind generic 9 !@sh -c "echo -n %(commit) | head -c7 | xclip -selection c"
bind generic g none
bind generic gg move-first-line
bind generic gr view-grep
bind generic G move-last-line
bind generic w :toggle ignore-case 

set ignore-case = true
set line-graphics = utf-8
set refresh-mode = after-command

# main view
bind main gG :toggle commit-title-graph
bind main G move-last-line
bind main c @sh -c "git branch --points-at=%(commit) | \
                    sed -n '/^*/ {n;p}' | \
                    (cat -; echo %(commit)) | \
                    head -1 | \
                    xargs git checkout"
bind main Tn @git tag "%(prompt Enter tag name: )" %(commit)
bind main Td @git tag -d "%(prompt Delete tag: )"
bind main Tp ?git push --tags
bind main gdt @git tag -d %(tag)
bind main <Ctrl-r> !?git rebase -i %(commit)
bind main m ?git merge %(commit)
bind main M ?git merge %(commit) --no-ff
bind main P ?git push
bind main B !sh scripts/bump_version.sh
bind main V @git log -S "%(prompt Enter search word: )"
bind main b none
bind main bn @git branch "%(prompt Enter branch name: )" %(commit)
bind main bd @git branch -d "%(prompt Delete branch: )"
bind main bD ?git branch -D "%(prompt Delete branch anyway: )"
bind main bv +git branch -vv
bind main u ?git reset %(commit) --soft
bind main gu ?git reset %(commit) --hard

set main-view = \
    date:default \
    author:abbreviated \
    id \
    commit-title:graph=v2,refs=true 

# blame view
set blame-view-file-name = no
set blame-view-line-number = yes,interval=5

# status view
bind status s ?git stash 
bind status S @git stash save "%(prompt Enter stash name: )"
bind status p !git checkout --patch -- %(file)
bind status D ?rm %(file)
bind status a ?git commit --amend
bind status j :/^[MADRU?]
bind status k :?^[MADRU?]

# stash view
bind stash D ?git stash drop %(stash)
bind stash a ?git stash apply %(stash)

# tree view
bind tree d ?rm %(file)
bind tree 9 !@sh -c "echo -n %(blob) | head -c7 | xclip -selection c"

# refs view
bind refs C none
bind refs c @git checkout %(branch)
bind refs bd ?git branch -d %(branch)
bind refs bD ?git branch -D %(branch)

# color
color diff-header black yellow
color diff-chunk white magenta
bind status <F4> !sh -c "git difftool -y \"$(git rev-parse --show-toplevel)/%(file)\""