Files
dotfiles/.tigrc
2025-02-10 20:13:39 +01:00

134 lines
3.8 KiB
Plaintext

[tig]
# === General ===
# Appearance
set main-view = id date author commit-title:graph=yes,refs=yes
set blame-view = date:default author:email-user id:yes,color line-number:yes,interval=1 text
set diff-options = -m --first-parent
# Refresh timing
set refresh-mode = periodic
set refresh-interval = 5
# Search
set ignore-case = true
# === Controls ===
# # Branch view
bind generic b view-refs
#
# # Blame view
bind generic <Esc>b view-blame
# # Cursor
bind generic J move-page-down
bind generic K move-page-up
# Copy commit id
bind generic ` @bash -c "echo -n '%(commit)' | pbcopy"
# Quit tig
bind generic <Esc><Enter> quit
# === Commands ===
# Commit
bind generic C !git commit
bind refs C !git commit
bind main C !git commit
# bind generic <Esc>u !git add -p %(file)
# bind generic <Esc>e !git commit --allow-empty
# bind generic + !git commit --amend --allow-empty
# Push
bind generic P ?git push -u %(remote) %(repo:head)
bind generic <Esc>p ?git push -u -f %(remote) %(repo:head)
# Pull
bind generic U ?git pull %(remote)
# Fetch
bind generic F ?git fetch %(remote)
bind main F ?git fetch %(remote)
#
# # Reflog
bind generic L !sh -c "git reflog --pretty=raw | tig --pretty=raw"
bind generic _ ?git reset --hard HEAD@{"%(prompt Enter HEAD@{} number: )"}
# Reset --hard
bind main H ?git reset --hard %(commit)
bind refs H ?git reset --hard %(commit)
bind status H ?git checkout -- %(file)
# Checkout(move) to branch
bind main = ?git checkout %(branch)
bind refs = ?git checkout %(branch)
# 前に使用していたブランチへ戻る
bind generic <Esc>= ?git checkout -
# Merge
bind main M ?git merge %(branch)
bind diff M ?git merge %(branch)
bind refs M ?git merge %(branch)
bind main <Esc>m ?git merge %(commit)
bind diff <Esc>m ?git merge %(commit)
# Rebase
bind main R ?git rebase %(branch)
bind diff R ?git rebase %(branch)
bind refs R ?git rebase %(branch)
bind main <Esc>r ?git rebase %(commit)
bind diff <Esc>r ?git rebase %(commit)
# Rebase -i
bind main <Esc>i ?git rebase -i %(branch)
bind diff <Esc>i ?git rebase -i %(branch)
bind refs <Esc>i ?git rebase -i %(branch)
bind main i ?git rebase -i %(commit)
bind diff i ?git rebase -i %(commit)
# Rebase options
bind generic <Esc>y ?git rebase --continue
bind generic <Esc>c ?git rebase --abort
# diff
bind main D ?sh -c "git diff %(commit)..%(prompt Enter commit ID: ) | tig"
bind diff D ?sh -c "git diff %(commit)..%(prompt Enter commit ID: ) | tig"
# Remove branch
bind refs D ?git branch -d %(branch)
bind refs <Esc>D ?git branch -D %(branch)
# Stash
bind generic S !git stash
# Revert
bind main ! ?git revert %(commit)
# Cherry-pick
bind main <Esc>k ?git cherry-pick %(commit)
bind diff <Esc>k ?git cherry-pick %(commit)
# Create branch
bind main B ?git checkout -b "%(prompt Enter branch name: )" %(branch)
bind refs B ?git checkout -b "%(prompt Enter branch name: )" %(branch)
bind main <Esc>b ?git checkout -b "%(prompt Enter branch name: )" %(commit)
# === Github ===
# Open to brouse
bind main ; @hub browse -- commit/%(commit)
bind blame ; @hub browse -- commit/%(commit)
bind diff ; @hub browse -- commit/%(commit)
bind tree ; @hub browse -- blob/%(branch)/%(file)
bind blob ; @hub browse -- blob/%(branch)/%(file)
bind grep ; @hub browse -- blob/%(branch)/%(file)
# Pull request
bind main w @hub browse -- compare/%(branch)?expand=1
bind diff w @hub browse -- compare/%(branch)?expand=1
bind refs w @hub browse -- compare/%(branch)?expand=1
# === Theme ===
# General colors