Skip to content

Instantly share code, notes, and snippets.

@andrwj
Forked from eu81273/.tigrc
Created November 2, 2023 06:51
Show Gist options
  • Save andrwj/9c66227bd03562c7e1c5927f97c8171b to your computer and use it in GitHub Desktop.
Save andrwj/9c66227bd03562c7e1c5927f97c8171b to your computer and use it in GitHub Desktop.

Revisions

  1. @eu81273 eu81273 revised this gist Mar 15, 2019. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -77,7 +77,7 @@ set show-changes = yes # 메인 뷰에서 커밋들의 변경사항들을 표시
    set wrap-lines = no # 페이저 기반 뷰에서 긴 줄을 감싸는가?
    set tab-size = 4 # 탭을 확장할 때 몇 개의 공백을 사용하는가?
    set line-graphics = utf-8 # 그래프 표시방법 -> ascii, default, utf-8
    set truncation-delimiter = utf-8 # width 속성으로 글자를 자를 때 표시할 기호
    set truncation-delimiter = utf-8 # width 속성으로 글자를 자를 때 표시할 기호

    # 타입 기반 레퍼런스명 포맷
    # ㄴ head : 현재 HEAD.
    @@ -169,8 +169,8 @@ bind main ! ?git rebase --abort # 리
    bind main U ?git rebase --continue # 리베이스 계속
    bind main <C-L> ?git pull --autostash --rebase %(remote) %(branch) # 리모트의 현재 브랜치에서 변경사항 가져오기
    bind main L ?git pull --rebase %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push %(remote) %(branch) # 리모트 현재 브랜치에 변경사항 커밋
    # bind main P ?git push %(remote) "%(prompt Branch name to push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push %(remote) %(branch) # 리모트 현재 브랜치에 변경사항 커밋
    # bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
    bind main <C-T> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋
  2. @eu81273 eu81273 revised this gist Aug 17, 2018. 1 changed file with 13 additions and 10 deletions.
    23 changes: 13 additions & 10 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -57,13 +57,13 @@
    #
    # 모든 컬럼들은 최대 너비를 설정하기위한 width 옵션을 지원한다. 0으로 설정하면 사이즈를 자동으로 조절한다.

    set blame-view = date:default author:full file-name:auto id:yes,color line-number:no,interval=5 text:display=yes
    set blame-view = date:default author:display=email-user file-name:auto id:yes,color line-number:no,interval=5 text:display=yes
    set grep-view = file-name:no line-number:yes,interval=1 text:display=yes
    set main-view = line-number:no,interval=5 id:display=yes,width=10 date:display=relative author:display=full commit-title:display=yes,graph=yes,refs=yes,overflow=no
    set refs-view = line-number:no id:no date:display=default author:full ref commit-title:display=yes
    set stash-view = line-number:no,interval=5 id:no date:default author:display=full commit-title:display=yes
    set main-view = line-number:no,interval=5 id:display=yes,width=10 date:display=relative author:display=email-user commit-title:display=yes,graph=yes,refs=yes,overflow=no
    set refs-view = date:display=relative author:display=email-user ref commit-title:display=yes
    set stash-view = line-number:no,interval=5 id:no date:default author:display=email-user commit-title:display=yes
    set status-view = line-number:no,interval=5 status:display=long file-name:display=always
    set tree-view = line-number:no,interval=5 mode author:full file-size date:default id:no file-name:display=always
    set tree-view = line-number:no,interval=5 mode author:display=email-user file-size date:default id:no file-name:display=always

    # 페이저 기반 뷰들
    set pager-view = line-number:no,interval=5 text
    @@ -76,7 +76,8 @@ set diff-view = line-number:no,interval=5 text:yes,commit-title-overflow=no
    set show-changes = yes # 메인 뷰에서 커밋들의 변경사항들을 표시하는가?
    set wrap-lines = no # 페이저 기반 뷰에서 긴 줄을 감싸는가?
    set tab-size = 4 # 탭을 확장할 때 몇 개의 공백을 사용하는가?
    set line-graphics = default # 그래프 표시방법 -> ascii, default, utf-8
    set line-graphics = utf-8 # 그래프 표시방법 -> ascii, default, utf-8
    set truncation-delimiter = utf-8 # width 속성으로 글자를 자를 때 표시할 기호

    # 타입 기반 레퍼런스명 포맷
    # ㄴ head : 현재 HEAD.
    @@ -95,7 +96,7 @@ set reference-format = [branch] <tag> {remote} ~replace~

    # Git으로 부터 어떻게 정보를 읽을지를 조절하는 설정들
    set commit-order = auto # Enum: auto, default, topo, date, reverse (main view)
    set status-untracked-dirs = yes # 트래킹하고 있지 않은 디렉토리의 파일들도 보여주는가? (status)
    set status-show-untracked-dirs = yes # 트래킹하고 있지 않은 디렉토리의 파일들도 보여주는가? (status)
    set ignore-space = no # Enum: no, all, some, at-eol (diff)
    set show-notes = yes # `--show-notes=...` 를 전달하는가? (diff)
    set diff-context = 6 # diff changes 를 보여줄 때 라인 수 (diff)
    @@ -106,9 +107,9 @@ set diff-context = 6 # diff changes 를 보여줄 때 라인 수 (diff)
    #set mailmap = yes # 캐노니컬 이름과 이메일 주소를 보여주기 위해 .mailmap 를 사용하는가?

    # Misc
    set refresh-mode = auto # Enum: manual, auto, after-command, periodic
    set refresh-mode = after-command # Enum: manual, auto, after-command, periodic
    set refresh-interval = 1 # 리프레시 주기 (초)
    set ignore-case = no # 검색시 대소문자를 무시하는가?
    set ignore-case = yes # 검색시 대소문자를 무시하는가?
    # set wrap-search = yes # 검색시에 화면의 위 아래를 감싸는가?
    set focus-child = yes # 하위 화면이 열리면 포커스를 이동하는가?
    set horizontal-scroll = 50% # 스크롤하기 위한 컬럼 수의 가로 너비 비율
    @@ -166,13 +167,14 @@ bind main <C-R> ?git reset --hard %(commit)
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main U ?git rebase --continue # 리베이스 계속
    bind main <C-L> ?git pull --rebase %(remote) %(branch) # 리모트의 현재 브랜치에서 변경사항 가져오기
    bind main <C-L> ?git pull --autostash --rebase %(remote) %(branch) # 리모트의 현재 브랜치에서 변경사항 가져오기
    bind main L ?git pull --rebase %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push %(remote) %(branch) # 리모트 현재 브랜치에 변경사항 커밋
    # bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
    bind main <C-T> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋
    bind main B ?git checkout -b "%(prompt Branch name to create : )" # 입력한 브랜치 생성하고 체크아웃하기

    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기
    bind status S ?git stash save --keep-index "%(prompt Stash name : )" # 스테이지 올라가지 않은 파일 스테시에 올리기
    @@ -468,3 +470,4 @@ set git-colors = \
    status.updated=stat-staged \
    status.changed=stat-unstaged \
    status.untracked=stat-untracked

  3. @eu81273 eu81273 revised this gist Apr 3, 2017. 1 changed file with 13 additions and 9 deletions.
    22 changes: 13 additions & 9 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -162,11 +162,15 @@ set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수

    bind main C ?git cherry-pick %(commit) # 체리픽 (해당 커밋을 현재 브랜치에 새로 커밋)
    bind main <Hash> !@bash -c "echo -n %(commit) | pbcopy" # 현재 커밋의 해시를 복사
    bind main <C-R> ?git reset --hard %(commit) # 현재 커밋의 해시까지 리셋
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main U ?git rebase --continue # 리베이스 계속
    bind main <C-L> ?git pull --rebase %(remote) %(branch) # 리모트의 현재 브랜치에서 변경사항 가져오기
    bind main L ?git pull --rebase %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push %(remote) %(branch) # 리모트 현재 브랜치에 변경사항 커밋
    # bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
    bind main <C-T> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋

    @@ -308,17 +312,17 @@ bind status ! status-revert # 파일의 변경 사항을 Revert
    bind status M status-merge # git-mergetool(1) 을 연다.
    # bind status 키값 :toggle status # 짧은/긴 status label 을 표시한다.

    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 stage u status-update # 변경 사항 chunk를 Stage/unstage 한다.
    bind stage 1 stage-update-line # 변경 사항 중 현재 라인만 Stage/unstage 한다.
    bind stage ! status-revert # 현재 변경사항 chunk를 원복한다.
    bind stage \ stage-split-chunk # 현재 변경사항 chunk를 나눈다.
    bind stage @ :/^@@ # 다음 변경 사항 chunk로 이동한다.
    bind stage [ :toggle diff-context -1 # Diff 주변 라인들을 덜 보여준다.
    bind stage ] :toggle diff-context +1 # Diff 주변 라인들을 더 보여준다.
    bind stage <Down> move-down
    bind stage <Up> move-up

    bind diff @ :/^@@ # Jump to next (c)hunk
    bind diff @ :/^@@ # 다음 chunk로 점프한다.
    bind diff [ :toggle diff-context -1
    bind diff ] :toggle diff-context +1
    bind diff <Down> move-down
  4. @eu81273 eu81273 revised this gist May 9, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion .tigrc
    Original file line number Diff line number Diff line change
    @@ -76,7 +76,7 @@ set diff-view = line-number:no,interval=5 text:yes,commit-title-overflow=no
    set show-changes = yes # 메인 뷰에서 커밋들의 변경사항들을 표시하는가?
    set wrap-lines = no # 페이저 기반 뷰에서 긴 줄을 감싸는가?
    set tab-size = 4 # 탭을 확장할 때 몇 개의 공백을 사용하는가?
    set line-graphics = ascii # 그래프 표시방법 -> ascii, default, utf-8
    set line-graphics = default # 그래프 표시방법 -> ascii, default, utf-8

    # 타입 기반 레퍼런스명 포맷
    # ㄴ head : 현재 HEAD.
  5. @eu81273 eu81273 revised this gist Apr 1, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion .tigrc
    Original file line number Diff line number Diff line change
    @@ -164,7 +164,7 @@ bind main C ?git cherry-pick %(commit) # 체
    bind main <Hash> !@bash -c "echo -n %(commit) | pbcopy" # 현재 커밋의 해시를 복사
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main L ?git pull %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
    bind main L ?git pull --rebase %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
  6. @eu81273 eu81273 revised this gist Feb 24, 2016. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -161,6 +161,7 @@ set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수
    # %(prompt) : 인자값을 입력받기 위한 프롬프트.

    bind main C ?git cherry-pick %(commit) # 체리픽 (해당 커밋을 현재 브랜치에 새로 커밋)
    bind main <Hash> !@bash -c "echo -n %(commit) | pbcopy" # 현재 커밋의 해시를 복사
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main L ?git pull %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
  7. @eu81273 eu81273 revised this gist Feb 24, 2016. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,6 @@
    # Tig 기본 설정
    # 'man tigrc' 를 커맨드라인에서 입력하면 전체 매뉴얼을 볼 수 있다.
    # 매뉴얼 한글 번역 http://ujuc.github.io/2016/02/10/tig-manual/

    # 설정
    # --------
  8. @eu81273 eu81273 revised this gist Nov 11, 2015. 1 changed file with 6 additions and 3 deletions.
    9 changes: 6 additions & 3 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -165,7 +165,7 @@ bind main ! ?git rebase --abort # 리
    bind main L ?git pull %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
    bind main <C-T> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋

    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기
    @@ -247,9 +247,9 @@ 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 <C-Y> scroll-line-up
    bind generic <Del> scroll-line-down
    bind generic <C-E> scroll-line-down
    # bind generic <C-E> scroll-line-down
    bind generic <SBack> scroll-page-up
    bind generic <SFwd> scroll-page-down

    @@ -322,6 +322,9 @@ bind diff ] :toggle diff-context +1
    bind diff <Down> move-down
    bind diff <Up> move-up

    bind blob <Down> move-down
    bind blob <Up> move-up

    bind main G :toggle commit-title-graph # Toggle revision graph visualization
    bind main F :toggle commit-title-refs # Toggle reference display (tags/branches)

  9. @eu81273 eu81273 revised this gist Nov 5, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion .tigrc
    Original file line number Diff line number Diff line change
    @@ -175,7 +175,7 @@ bind stash P ?git stash pop %(stash) # 스
    bind stash ! ?git stash drop %(stash) # 스테시 초기화하기

    bind refs C ?git checkout %(branch) # 선택한 브랜치 체크아웃하기
    bind refs B ?git branch "%(prompt Branch name to create : )" # 입력한 브랜치 생성하고 체크아웃하기
    bind refs B ?git branch "%(prompt Branch name to create : )" # 입력한 브랜치 생성하고 체크아웃하기
    bind refs ! ?git branch -D %(branch) # 선택한 브랜치 삭제하기


  10. @eu81273 eu81273 revised this gist Nov 5, 2015. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -58,7 +58,7 @@

    set blame-view = date:default author:full file-name:auto id:yes,color line-number:no,interval=5 text:display=yes
    set grep-view = file-name:no line-number:yes,interval=1 text:display=yes
    set main-view = line-number:no,interval=5 id:display=yes,width=10 date:display=default author:display=full commit-title:display=yes,graph=yes,refs=yes,overflow=no
    set main-view = line-number:no,interval=5 id:display=yes,width=10 date:display=relative author:display=full commit-title:display=yes,graph=yes,refs=yes,overflow=no
    set refs-view = line-number:no id:no date:display=default author:full ref commit-title:display=yes
    set stash-view = line-number:no,interval=5 id:no date:default author:display=full commit-title:display=yes
    set status-view = line-number:no,interval=5 status:display=long file-name:display=always
    @@ -165,7 +165,7 @@ bind main ! ?git rebase --abort # 리
    bind main L ?git pull %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
    bind main <C-T> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋

    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기
    @@ -175,6 +175,7 @@ bind stash P ?git stash pop %(stash) # 스
    bind stash ! ?git stash drop %(stash) # 스테시 초기화하기

    bind refs C ?git checkout %(branch) # 선택한 브랜치 체크아웃하기
    bind refs B ?git branch "%(prompt Branch name to create : )" # 입력한 브랜치 생성하고 체크아웃하기
    bind refs ! ?git branch -D %(branch) # 선택한 브랜치 삭제하기


  11. @eu81273 eu81273 revised this gist Nov 3, 2015. 1 changed file with 7 additions and 6 deletions.
    13 changes: 7 additions & 6 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -75,7 +75,7 @@ set diff-view = line-number:no,interval=5 text:yes,commit-title-overflow=no
    set show-changes = yes # 메인 뷰에서 커밋들의 변경사항들을 표시하는가?
    set wrap-lines = no # 페이저 기반 뷰에서 긴 줄을 감싸는가?
    set tab-size = 4 # 탭을 확장할 때 몇 개의 공백을 사용하는가?
    set line-graphics = default # 그래프 표시방법 -> ascii, default, utf-8
    set line-graphics = ascii # 그래프 표시방법 -> ascii, default, utf-8

    # 타입 기반 레퍼런스명 포맷
    # ㄴ head : 현재 HEAD.
    @@ -162,13 +162,14 @@ set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수
    bind main C ?git cherry-pick %(commit) # 체리픽 (해당 커밋을 현재 브랜치에 새로 커밋)
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main L ?git pull %(remote) "%(prompt BRANCH NAME TO PULL : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt BRANCH NAME TO PUSH : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt BRANCH NAME TO +PUSH : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt TAG NAME : )" %(commit) # 해당 커밋에 태그 추가
    bind main L ?git pull %(remote) "%(prompt Branch name to pull : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name : )" %(commit) # 해당 커밋에 태그 추가
    bind main <C-T> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋

    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기
    bind status S ?git stash save --keep-index "%(prompt Stash name : )" # 스테이지 올라가지 않은 파일 스테시에 올리기

    bind stash P ?git stash pop %(stash) # 스테시에서 꺼내오기
    bind stash ! ?git stash drop %(stash) # 스테시 초기화하기
    @@ -429,7 +430,7 @@ color palette-6 red default
    # color palette-11 default default bold
    # color palette-12 white default bold
    # color palette-13 red default bold
    color graph-commit blue default
    color graph-commit red default
    # color search-result black yellow


  12. @eu81273 eu81273 revised this gist Nov 2, 2015. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -74,7 +74,7 @@ set diff-view = line-number:no,interval=5 text:yes,commit-title-overflow=no
    # UI 표시 설정
    set show-changes = yes # 메인 뷰에서 커밋들의 변경사항들을 표시하는가?
    set wrap-lines = no # 페이저 기반 뷰에서 긴 줄을 감싸는가?
    set tab-size = 8 # 탭을 확장할 때 몇 개의 공백을 사용하는가?
    set tab-size = 4 # 탭을 확장할 때 몇 개의 공백을 사용하는가?
    set line-graphics = default # 그래프 표시방법 -> ascii, default, utf-8

    # 타입 기반 레퍼런스명 포맷
    @@ -162,10 +162,10 @@ set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수
    bind main C ?git cherry-pick %(commit) # 체리픽 (해당 커밋을 현재 브랜치에 새로 커밋)
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main L ?git pull %(remote) "%(prompt Branch name to pull: )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push: )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push: )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name: )" %(commit) # 해당 커밋에 태그 추가
    bind main L ?git pull %(remote) "%(prompt BRANCH NAME TO PULL : )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt BRANCH NAME TO PUSH : )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt BRANCH NAME TO +PUSH : )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt TAG NAME : )" %(commit) # 해당 커밋에 태그 추가
    bind main <C-T> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋

    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기
  13. @eu81273 eu81273 revised this gist Nov 2, 2015. 1 changed file with 14 additions and 13 deletions.
    27 changes: 14 additions & 13 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -105,7 +105,7 @@ set diff-context = 6 # diff changes 를 보여줄 때 라인 수 (diff)
    #set mailmap = yes # 캐노니컬 이름과 이메일 주소를 보여주기 위해 .mailmap 를 사용하는가?

    # Misc
    set refresh-mode = periodic # Enum: manual, auto, after-command, periodic
    set refresh-mode = auto # Enum: manual, auto, after-command, periodic
    set refresh-interval = 1 # 리프레시 주기 (초)
    set ignore-case = no # 검색시 대소문자를 무시하는가?
    # set wrap-search = yes # 검색시에 화면의 위 아래를 감싸는가?
    @@ -159,21 +159,22 @@ set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수
    # %(diffargs) : The diff options from `diff-options` or `TIG_DIFF_OPTS`
    # %(prompt) : 인자값을 입력받기 위한 프롬프트.

    bind main C ?git cherry-pick %(commit) # 체리픽 (해당 커밋을 현재 브랜치에 새로 커밋)
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main L ?git pull %(remote) %(branch) # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) %(branch) # 리모트에 변경사항 커밋
    bind main T !git tag %(prompt) %(commit) # 해당 커밋에 태그 추가
    bind main <C-P> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋
    bind main C ?git cherry-pick %(commit) # 체리픽 (해당 커밋을 현재 브랜치에 새로 커밋)
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main L ?git pull %(remote) "%(prompt Branch name to pull: )" # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) "%(prompt Branch name to push: )" # 리모트에 변경사항 커밋
    bind main <C-P> ?git push --force %(remote) "%(prompt Branch name to +push: )" # 리모트에 변경사항 커밋
    bind main T !git tag "%(prompt Tag name: )" %(commit) # 해당 커밋에 태그 추가
    bind main <C-T> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋

    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기
    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기

    bind stash P ?git stash pop %(stash) # 스테시에서 꺼내오기
    bind stash ! ?git stash drop %(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 refs C ?git checkout %(branch) # 선택한 브랜치 체크아웃하기
    bind refs ! ?git branch -D %(branch) # 선택한 브랜치 삭제하기



  14. @eu81273 eu81273 revised this gist Nov 2, 2015. 1 changed file with 111 additions and 90 deletions.
    201 changes: 111 additions & 90 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -135,8 +135,11 @@ set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수
    # 사용자 정의 커맨드를 실행할 키를 바인드할 때는 "bind 키를-바인드할-화면 바인드할-키 커맨드" 의 순서로 선언하게 된다.
    # 키를 바인드할 화면은 main, diff, log, tree, blob, blame, refs, pager, help, status, stage, stash, grep 이 있고,
    # 모든 화면에서 바인드할 경우, generic 을 화면명으로 지정하면 된다.
    # 바인드할 키는 대소문자, <C-D>, <Ctrl-d>, <Down> 등으로 표기한다.
    #
    # 바인드할 키는 대소문자, <C-D>, ^d, <Down> 등으로 표기한다.
    # 사용 가능한 키 바인딩:
    # <Enter>, <Space>, <Backspace>, <Tab>, <Escape> 또는 <Esc>, <Left>, <Right>, <Up>, <Down>, <Insert> 또는 <Ins>,
    # <Delete> 또는 <Del>, <Hash>, <LessThan> 또는 <LT>, <Home>, <End>, <PageUp> 또는 <PgUp>, <PageDown> 또는 <PgDown>,
    # <F1>, <F2>, <F3>, <F4>, <F5>, <F6>, <F7>, <F8>, <F9>, <F10>, <F11>, <F12>
    #
    # 사용자 정의 커맨드는 Tig의 내부 상태값을 옵션으로 참조할 수 있는데, 아래와 같은 값들이 존재한다.
    #
    @@ -162,6 +165,7 @@ bind main ! ?git rebase --abort # 리베이스를 취소
    bind main L ?git pull %(remote) %(branch) # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) %(branch) # 리모트에 변경사항 커밋
    bind main T !git tag %(prompt) %(commit) # 해당 커밋에 태그 추가
    bind main <C-P> ?git push %(remote) %(tag) # 리모트에 현재 태그 커밋

    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기

    @@ -176,7 +180,7 @@ bind refs ! ?git branch -D %(branch) # 선택한 브랜치 삭제
    # 기본 커맨드
    # ---------------

    # 화면 전환
    # 화면 전환 키 설정
    bind generic m view-main
    bind generic d view-diff
    bind generic l view-log
    @@ -194,113 +198,130 @@ bind generic y none # 기본 키바인딩을 제거
    bind generic S 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 <Enter> enter # 선택된 엔트리를 열거나 들어간다.
    bind generic <Down> next # 다음으로 이동한다.
    # bind generic <C-N> next
    # bind generic J next
    bind generic <Up> previous # 이전으로 이동한다.
    # bind generic <C-P> previous
    # bind generic K previous
    # bind generic , parent
    bind generic <Tab> view-next # 다음 뷰로 포커서를 이동
    # bind generic R refresh
    bind generic <F5> refresh # 화면 리프레시
    bind generic O maximize # 현재 화면을 전체화면으로 본다.
    bind generic q view-close # 현재 화면을 닫는다.
    bind generic Q 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 generic <C-N> none # 기존 바인딩 제거
    bind generic J none # 기존 바인딩 제거
    bind generic <C-P> none # 기존 바인딩 제거
    bind generic K none # 기존 바인딩 제거
    bind generic , none # 기존 바인딩 제거
    bind generic R none # 기존 바인딩 제거
    bind generic <LT> none # 기존 바인딩 제거

    # 커서 및 방향 키 설정
    # bind generic j move-down
    # bind generic k move-up
    #bind generic 키값 move-half-page-down
    #bind generic 키값 move-half-page-up
    bind generic <PgDown> move-page-down
    bind generic <C-D> move-page-down
    bind generic <Space> move-page-down
    bind generic <PgUp> move-page-up
    bind generic <C-U> move-page-up
    bind generic - move-page-up
    bind generic <Home> move-first-line
    bind generic <End> move-last-line
    bind generic j none # 기존 바인딩 제거
    bind generic k none # 기존 바인딩 제거

    # 스크롤 관련 키 설정
    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


    # 검색 관련 키 설정
    bind generic / search
    # bind generic 키값 search-back
    # bind generic n find-next
    # bind generic N find-prev
    bind generic . find-next
    bind generic , find-prev
    # 검색 중 사용되는 네이게이션 키 설정
    # 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 generic o options # 옵션 메뉴 열기
    # 옵션을 쉽게 끄고 켜기 위한 키 바인딩
    bind generic I :toggle sort-order # 오름차순/내림차순
    bind generic i :toggle sort-field # 정렬 기준 필드
    bind generic <Hash> :toggle line-number # 줄번호
    bind generic D :toggle date # 날짜
    bind generic A :toggle author # 저작자
    bind generic ~ :toggle line-graphics # 그래픽 모드
    bind generic F :toggle file-name # 이름
    # bind generic 키값 :toogle show-changes # 로컬 변경사항 표시
    bind generic W :toggle ignore-space # diff 화면에서 공백 무시
    # bind generic 키값 :toggle commit-order # 커밋 순서 정렬
    bind generic X :toggle id # 커밋 ID 표시
    bind generic $ :toggle commit-title-overflow # 커밋 제목 넘침 하이라이팅
    # bind generic 키값 :toggle file-size # 파일 크기 형식
    # bind generic 키값 :toggle status # 상태 표시
    # bind generic 키값 :toggle status-untracked-dirs # 트래킹하지 않는 디렉토리의 파일 표시
    # bind generic 키값 :toggle vertical-split # 좌우로 창 나누기
    bind generic % :toggle file-filter


    # 기타 키 설정
    bind generic e edit # 에디터로 편집한다.
    bind generic : prompt # 프롬프트를 연다.
    bind generic <C-L> screen-redraw # 화면을 다시 그린다.
    bind generic z stop-loading # 로딩을 중단한다.
    bind generic v show-version # Tig 버전을 표시한다.


    # 화면별 키 설정
    bind status u status-update # 파일을 인덱스에 추가/삭제한다.
    bind status ! status-revert # 파일의 변경 사항을 Revert 한다.
    bind status M status-merge # git-mergetool(1) 을 연다.
    # bind status 키값 :toggle status # 짧은/긴 status label 을 표시한다.

    # 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 stage <Down> move-down
    bind stage <Up> move-up

    bind diff @ :/^@@ # Jump to next (c)hunk
    bind diff [ :toggle diff-context -1
    bind diff ] :toggle diff-context +1
    bind diff <Down> move-down
    bind diff <Up> move-up

    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 바인딩할-키 move-half-page-down
    #bind generic 바인딩할-키 move-half-page-up
    bind generic <PgDown> move-page-down
    bind generic <C-D> move-page-down
    bind generic <Space> move-page-down
    bind generic <PgUp> move-page-up
    bind generic <C-U> 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
    bind generic . find-next
    bind generic , 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

    # 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-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



    # 색상 설정
    # ------
  15. @eu81273 eu81273 revised this gist Oct 30, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion .tigrc
    Original file line number Diff line number Diff line change
    @@ -135,7 +135,7 @@ set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수
    # 사용자 정의 커맨드를 실행할 키를 바인드할 때는 "bind 키를-바인드할-화면 바인드할-키 커맨드" 의 순서로 선언하게 된다.
    # 키를 바인드할 화면은 main, diff, log, tree, blob, blame, refs, pager, help, status, stage, stash, grep 이 있고,
    # 모든 화면에서 바인드할 경우, generic 을 화면명으로 지정하면 된다.
    # 바인드할 키는 대소문자, <C-D>, ^d, <Down> 등으로 표기한다.
    # 바인드할 키는 대소문자, <C-D>, <Ctrl-d>, <Down> 등으로 표기한다.
    #
    #
    # 사용자 정의 커맨드는 Tig의 내부 상태값을 옵션으로 참조할 수 있는데, 아래와 같은 값들이 존재한다.
  16. @eu81273 eu81273 revised this gist Oct 30, 2015. 1 changed file with 189 additions and 180 deletions.
    369 changes: 189 additions & 180 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -97,7 +97,7 @@ set commit-order = auto # Enum: auto, default, topo, date, reverse (main view)
    set status-untracked-dirs = yes # 트래킹하고 있지 않은 디렉토리의 파일들도 보여주는가? (status)
    set ignore-space = no # Enum: no, all, some, at-eol (diff)
    set show-notes = yes # `--show-notes=...` 를 전달하는가? (diff)
    #set diff-context = 3 # diff changes 를 보여줄 때 라인 수 (diff)
    set diff-context = 6 # diff changes 를 보여줄 때 라인 수 (diff)
    #set diff-options = -C # `tig show` 명령을 위한 사용자 정의 옵션 (git-diff)
    #set blame-options = -C -C -C # `tig blame` 명령을 위한 사용자 정의 옵션 (git-blame)
    #set log-options = --pretty=raw # `tig log` 명령을 위한 사용자 정의 옵션 (git-log)
    @@ -111,7 +111,7 @@ set ignore-case = no # 검색시 대소문자를 무시하는가?
    # set wrap-search = yes # 검색시에 화면의 위 아래를 감싸는가?
    set focus-child = yes # 하위 화면이 열리면 포커스를 이동하는가?
    set horizontal-scroll = 50% # 스크롤하기 위한 컬럼 수의 가로 너비 비율
    set split-view-height = 67% # 위아래로 화면을 나눌 때, 아래쪽 화면의 높이
    set split-view-height = 70% # 위아래로 화면을 나눌 때, 아래쪽 화면의 높이
    # set split-view-width = 50% # Width of right-most view for vertical splits
    set vertical-split = vertical # Enum: horizontal, vertical, auto; 가로 너비가 허용되면 좌우 분할로 자동 변경되게 하려면 auto 를 사용한다.
    set editor-line-number = yes # 에디터에 라인 번호를 자동으로 넘기는가? diff 등에서 해당 라인 위치까지 바로 이동하고 싶을 때 사용한다.
    @@ -135,40 +135,41 @@ set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수
    # 사용자 정의 커맨드를 실행할 키를 바인드할 때는 "bind 키를-바인드할-화면 바인드할-키 커맨드" 의 순서로 선언하게 된다.
    # 키를 바인드할 화면은 main, diff, log, tree, blob, blame, refs, pager, help, status, stage, stash, grep 이 있고,
    # 모든 화면에서 바인드할 경우, generic 을 화면명으로 지정하면 된다.
    # 바인드할 키는 대소문자, <C-D> 컨트럴키 + d, <Down> 등으로 표기한다.
    # 바인드할 키는 대소문자, <C-D>, ^d, <Down> 등으로 표기한다.
    #
    #
    # 사용자 정의 커맨드는 Tig의 내부 상태값을 옵션으로 참조할 수 있는데, 아래와 같은 값들이 존재한다.
    #
    # %(head) : The current ref ID. Defaults to HEAD
    # %(commit) : he current commit ID.
    # %(blob) : The current blob ID.
    # %(branch) : The current branch name.
    # %(remote) : The current remote name.
    # %(tag) : he 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.
    # %(head) : 현재 ref ID. 기본값은 HEAD.
    # %(commit) : 현재 커밋 ID
    # %(blob) : 현재 blob ID.
    # %(branch) : 현재 브랜치명.
    # %(remote) : 현재 리모트명.
    # %(tag) : 현재 태그명.
    # %(stash) : 현재 스태시(stash)명.
    # %(directory) : tree view 에서의 현재 디렉토리 경로. 비어있으면 루트 디렉토리.
    # %(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.
    # %(prompt) : 인자값을 입력받기 위한 프롬프트.

    bind main C ?git cherry-pick %(commit)
    bind main R ?git rebase -i %(commit)
    bind main ! ?git rebase --abort
    bind main p ?git pull %(remote) %(branch)
    bind main P ?git push %(remote) %(branch)
    bind main C ?git cherry-pick %(commit) # 체리픽 (해당 커밋을 현재 브랜치에 새로 커밋)
    bind main R ?git rebase -i %(commit) # 커밋의 순서를 재정렬하고 첨삭
    bind main ! ?git rebase --abort # 리베이스를 취소
    bind main L ?git pull %(remote) %(branch) # 리모트에서 변경사항 가져오기
    bind main P ?git push %(remote) %(branch) # 리모트에 변경사항 커밋
    bind main T !git tag %(prompt) %(commit) # 해당 커밋에 태그 추가

    bind status C !git commit
    bind status C !git commit # 스테이지(인덱스)에 올라간 파일 로컬에 커밋하기

    bind stash P ?git stash pop %(stash)
    bind stash ! ?git stash drop %(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 refs C ?git checkout %(branch) # 선택한 브랜치 체크아웃하기
    bind refs ! ?git branch -D %(branch) # 선택한 브랜치 삭제하기



    @@ -186,50 +187,56 @@ 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
    bind generic c view-stage
    bind generic y view-stash
    # bind generic y view-stash
    bind generic y none # 기본 키바인딩을 제거
    bind generic S 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 <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 # 현재 화면을 전체화면으로 본다.
    bind generic q view-close # 현재 화면을 닫는다.
    bind generic Q 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 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 diff <Down> move-down
    bind diff <Up> move-up
    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 ? move-half-page-down
    #bind generic ? move-half-page-up
    #bind generic 바인딩할-키 move-half-page-down
    #bind generic 바인딩할-키 move-half-page-up
    bind generic <PgDown> move-page-down
    bind generic <C-D> move-page-down
    bind generic <Space> move-page-down
    @@ -252,9 +259,11 @@ bind generic <SFwd> scroll-page-down

    # Searching
    bind generic / search
    bind generic ? search-back
    bind generic n find-next
    bind generic N find-prev
    # bind generic 바인딩할-키 search-back
    # bind generic n find-next
    # bind generic N find-prev
    bind generic . find-next
    bind generic , find-prev
    # Navigation keys used while searching
    # bind search <Down> find-next
    # bind search <C-N> find-next
    @@ -264,145 +273,145 @@ bind generic N find-prev
    # bind search <C-K> find-prev

    # Option manipulation
    bind generic o options # Open the options menu
    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-untracked-dirs
    # Toggle display of file in untracked directories
    # bind generic ??? :toggle vertical-split # Toggle vertical split
    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-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 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.
    # UI 의 색상들도 변경가능하다. 게다가 pager, blob, diff, stage 화면 요소의 색상들도
    # 큰 따옴표로 감싼 텍스트 매칭으로 찾아서 새로운 색으로 지정해줄 수 있다.
    #
    # Prefix the name of a view to set a color only for that view, e.g.
    # 아래와 같이 설정하면 Signed-off-by 라는 문구가 있는 줄의 색상을 글자는 노란색,
    # 배경은 기본색으로 지정하게 된다.
    #
    # color grep.file blue default
    # color " Signed-off-by" yellow default
    #
    # As an example, this setting will to color Signed-off-by lines with a
    # yellow foreground color and use the default background color.
    # 위에서 보면 처음에 네 칸의 공백을 두고 있는데, Git 에서 커밋 메시지에 자동으로
    # 네 개의 공백을 추가하기 때문이다.
    #
    # 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 "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 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.
    # color grep.file 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 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


    # git configuration 으로부터 읽은 색상들 매핑. "no" 라고 설정하면 비활성화된다.
    set git-colors = \
    branch.current=main-head \
    branch.local=main-ref \
  17. @eu81273 eu81273 revised this gist Oct 30, 2015. No changes.
  18. @eu81273 eu81273 revised this gist Oct 30, 2015. 1 changed file with 78 additions and 74 deletions.
    152 changes: 78 additions & 74 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    # Tig 기본 설정
    # '$ man tigrc' 를 커맨드라인에서 입력하면 전체 매뉴얼을 볼 수 있다.
    # 'man tigrc' 를 커맨드라인에서 입력하면 전체 매뉴얼을 볼 수 있다.

    # 설정
    # --------
    @@ -77,100 +77,105 @@ set wrap-lines = no # 페이저 기반 뷰에서 긴 줄을 감싸는가?
    set tab-size = 8 # 탭을 확장할 때 몇 개의 공백을 사용하는가?
    set line-graphics = default # 그래프 표시방법 -> ascii, default, 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~
    # 타입 기반 레퍼런스명 포맷
    # ㄴ head : 현재 HEAD.
    # ㄴ tag : 서명된 태그.
    # ㄴ local-tag : 서명되지 않은 태그.
    # ㄴ remote : 리모트.
    # ㄴ tracked-remote : 현재 HEAD에 트랙되고 있는 리모트
    # ㄴ replace : 교체된 레퍼런스
    # ㄴ branch : 다른 레퍼런스.
    #
    # 만약 local-tag 를 위한 포맷이 정의되지 않으면 tag 가 사용된다.
    # 유사하게, tracked-remote 포맷이 없으면 remote 가 사용된다.
    # 레퍼런스 타입을 보여주지 않으려면 hide:remote 과 같이 hide: 프리픽스를 사용하면 된다.
    # 포맷 문자열의 리스트 구분은 스페이스(공백)으로 한다.
    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-untracked-dirs = yes # Show files in untracked directories? (status)
    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 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
    # Git으로 부터 어떻게 정보를 읽을지를 조절하는 설정들
    set commit-order = auto # Enum: auto, default, topo, date, reverse (main view)
    set status-untracked-dirs = yes # 트래킹하고 있지 않은 디렉토리의 파일들도 보여주는가? (status)
    set ignore-space = no # Enum: no, all, some, at-eol (diff)
    set show-notes = yes # `--show-notes=...` 를 전달하는가? (diff)
    #set diff-context = 3 # diff changes 를 보여줄 때 라인 수 (diff)
    #set diff-options = -C # `tig show` 명령을 위한 사용자 정의 옵션 (git-diff)
    #set blame-options = -C -C -C # `tig blame` 명령을 위한 사용자 정의 옵션 (git-blame)
    #set log-options = --pretty=raw # `tig log` 명령을 위한 사용자 정의 옵션 (git-log)
    #set main-options = -n 1000 # `tig` 명령을 위한 사용자 정의 옵션 (git-log)
    #set mailmap = yes # 캐노니컬 이름과 이메일 주소를 보여주기 위해 .mailmap 를 사용하는가?

    # Misc
    set refresh-mode = auto # Enum: manual, auto, after-command, periodic
    set refresh-interval = 10 # Interval in seconds between refreshes
    set ignore-case = no # Ignore case when searching?
    # 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 = vertical # 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 mouse = no # Enable mouse support?
    set mouse-scroll = 3 # Number of lines to scroll via the mouse
    set refresh-mode = periodic # Enum: manual, auto, after-command, periodic
    set refresh-interval = 1 # 리프레시 주기 (초)
    set ignore-case = no # 검색시 대소문자를 무시하는가?
    # set wrap-search = yes # 검색시에 화면의 위 아래를 감싸는가?
    set focus-child = yes # 하위 화면이 열리면 포커스를 이동하는가?
    set horizontal-scroll = 50% # 스크롤하기 위한 컬럼 수의 가로 너비 비율
    set split-view-height = 67% # 위아래로 화면을 나눌 때, 아래쪽 화면의 높이
    # set split-view-width = 50% # Width of right-most view for vertical splits
    set vertical-split = vertical # Enum: horizontal, vertical, auto; 가로 너비가 허용되면 좌우 분할로 자동 변경되게 하려면 auto 를 사용한다.
    set editor-line-number = yes # 에디터에 라인 번호를 자동으로 넘기는가? diff 등에서 해당 라인 위치까지 바로 이동하고 싶을 때 사용한다.
    set mouse = no # 마우스를 사용하도록 하는가?
    set mouse-scroll = 3 # 마우스로 스크롤할 때 한번에 넘길 라인수

    # 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.
    # 사용자 정의 커맨드 (가장 유용한 부분)
    # -----------------------------------
    #
    # 이 커맨드들은 Tig 안에서 바로 쉘 커맨드를 실행할 수 있게 해준다.
    # 별도의 규정이 없는 한, 커맨드들은 포어그라운드에서 실행되어 콘솔 출력을 함께 보여준다.
    # 여러개의 커맨드 옵션들을 지정할 수도 있는데, 예를 들어 "?<git commit" 와 같은 경우 실행할 지를 사용자에게 묻고 난 후,
    # 실행이 끝나면 Tig 를 종료시킬 것이다. (? 는 묻는 것이고, < 는 종료이므로..)
    #
    # ! 기본값으로, 커맨드를 포어그라운드에서 실행하고 결과를 보여준다.
    # @ 커맨드를 백그라운드에서 실행하고 결과도 보여주지 않는다.
    # ? 커맨드를 실행하기 전에 사용자에게 실행할지를 묻는다.
    # < 커맨드 실행을 마치면 Tig를 종료한다.
    #
    # ! 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.
    #
    # <C-D> 컨트럴키 + d
    # 사용자 정의 커맨드를 실행할 키를 바인드할 때는 "bind 키를-바인드할-화면 바인드할-키 커맨드" 의 순서로 선언하게 된다.
    # 키를 바인드할 화면은 main, diff, log, tree, blob, blame, refs, pager, help, status, stage, stash, grep 이 있고,
    # 모든 화면에서 바인드할 경우, generic 을 화면명으로 지정하면 된다.
    # 바인드할 키는 대소문자, <C-D> 컨트럴키 + d, <Down> 등으로 표기한다.
    #
    # 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.
    # 사용자 정의 커맨드는 Tig의 내부 상태값을 옵션으로 참조할 수 있는데, 아래와 같은 값들이 존재한다.
    #
    # %(head) : The current ref ID. Defaults to HEAD
    # %(commit) : he current commit ID.
    # %(blob) : The current blob ID.
    # %(branch) : The current branch name.
    # %(remote) : The current remote name.
    # %(tag) : he 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 main R ?git rebase -i %(commit)
    bind main ! ?git rebase --abort
    bind main p ?git pull %(remote) %(branch)
    bind main P ?git push %(remote) %(branch)

    bind status C !git commit

    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
    @@ -181,7 +186,6 @@ 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
  19. @eu81273 eu81273 revised this gist Oct 29, 2015. 1 changed file with 37 additions and 39 deletions.
    76 changes: 37 additions & 39 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -10,74 +10,72 @@
    # 지원되는 컬럼 유형과 옵션들:
    #
    # author
    # - display (enum) [no|full|abbreviated|email|email-user]
    # : 작성자 정보를 표시하는가?
    # ㄴdisplay (enum) [no|full|abbreviated|email|email-user] : 작성자 정보를 표시하는가?
    # (예: author:display=full)
    #
    # commit-title
    # - display (bool) : 커밋 타이틀 표시하는가?
    # - graph (enum) [no|v2|v1] : 커밋 그래프를 보여주는가? (main view만 해당, 낮은 버전은 yes/no)
    # - refs (bool) : 브랜치와 태그, 리모트를 보여주는가? (main view만 해당)
    # - overflow (boolint) : 넘치는 부분에 대해 하이라이팅하는가? 활성화하면 기본값은 50이다.
    # display (bool) : 커밋 타이틀 표시하는가?
    # graph (enum) [no|v2|v1] : 커밋 그래프를 보여주는가? (main view만 해당, 낮은 버전은 yes/no)
    # refs (bool) : 브랜치와 태그, 리모트를 보여주는가? (main view만 해당)
    # overflow (boolint) : 넘치는 부분에 대해 하이라이팅하는가? 활성화하면 기본값은 50이다.
    # (예: commit-title:display=yes,graph=yes,refs=yes,overflow=no)
    #
    # date
    # - display (enum) [no|default|local|relative|short]
    # : 날짜를 보여주는가?
    # ㄴ display (enum) [no|default|local|relative|short] : 날짜를 보여주는가?
    # (예: date:display=default)
    #
    # file-name
    # - display (enum) [no|always|auto] : 파일명을 보여주는가?
    # display (enum) [no|always|auto] : 파일명을 보여주는가?
    # (예: file-name:display=auto)
    #
    # file-size
    # - display (enum) [no|default|units] : 파일 사이즈를 보여주는가?
    # display (enum) [no|default|units] : 파일 사이즈를 보여주는가?
    # (예: file-size:display=default)
    #
    # id
    # - display (bool) : commit/tree ID를 보여주는가?
    # display (bool) : commit/tree ID를 보여주는가?
    # (예: id:display=yes)
    #
    # line-number
    # - display (bool) : 줄번호를 표시하는가?
    # - interval (int) : 줄번호 표시 간격. 기본값은 5
    # (예: line-number:display=yes,interval=5)
    # display (bool) : 줄번호를 표시하는가?
    # interval (int) : 줄번호 표시 간격. 기본값은 5
    # (예: line-number:display=yes,interval=5)
    #
    # mode
    # - display (bool) : 파일 모드를 표시하는가?
    # (예: mode:display=yes)
    # display (bool) : 파일 모드를 표시하는가?
    # (예: mode:display=yes)
    #
    # status
    # - display (enum) [no|short|long] : status label을 표시하는가?
    # (예: status:display=long)
    # display (enum) [no|short|long] : status label을 표시하는가?
    # (예: status:display=long)
    #
    # text
    # - display (bool) : 텍스트를 표시하는가?
    # - commit-title-overflow (boolint) : log view 및 diff view 에서 넘치는 부분을 하이라이팅하는가?
    # (예: text:display=yes)
    # display (bool) : 텍스트를 표시하는가?
    # commit-title-overflow (boolint) : log view 및 diff view 에서 넘치는 부분을 하이라이팅하는가?
    # (예: text:display=yes)
    #
    # 모든 컬럼들은 최대 너비를 설정하기위한 width 옵션을 지원한다. 0으로 설정하면 사이즈를 자동으로 조절한다.

    set blame-view = date:default author:full file-name:auto id:yes,color line-number:no,interval=5 text:display=yes
    set grep-view = file-name:no line-number:yes,interval=1 text:display=yes
    set main-view = line-number:no,interval=5 id:display=yes,width=10 date:display=default author:display=full commit-title:display=yes,graph=yes,refs=yes,overflow=no
    set refs-view = line-number:no id:no date:display=default author:full ref commit-title:display=yes
    set stash-view = line-number:no,interval=5 id:no date:default author:display=full commit-title:display=yes
    set status-view = line-number:no,interval=5 status:display=long file-name:display=always
    set tree-view = line-number:no,interval=5 mode author:full file-size date:default id:no file-name:display=always
    set blame-view = date:default author:full file-name:auto id:yes,color line-number:no,interval=5 text:display=yes
    set grep-view = file-name:no line-number:yes,interval=1 text:display=yes
    set main-view = line-number:no,interval=5 id:display=yes,width=10 date:display=default author:display=full commit-title:display=yes,graph=yes,refs=yes,overflow=no
    set refs-view = line-number:no id:no date:display=default author:full ref commit-title:display=yes
    set stash-view = line-number:no,interval=5 id:no date:default author:display=full commit-title:display=yes
    set status-view = line-number:no,interval=5 status:display=long file-name:display=always
    set tree-view = line-number:no,interval=5 mode author:full file-size date:default id:no file-name:display=always

    # 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
    # 페이저 기반 뷰들
    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
    # UI 표시 설정
    set show-changes = yes # 메인 뷰에서 커밋들의 변경사항들을 표시하는가?
    set wrap-lines = no # 페이저 기반 뷰에서 긴 줄을 감싸는가?
    set tab-size = 8 # 탭을 확장할 때 몇 개의 공백을 사용하는가?
    set line-graphics = default # 그래프 표시방법 -> ascii, default, utf-8

    # Format reference names based on type.
    # - head : The current HEAD.
  20. @eu81273 eu81273 created this gist Oct 29, 2015.
    426 changes: 426 additions & 0 deletions .tigrc
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,426 @@
    # Tig 기본 설정
    # '$ man tigrc' 를 커맨드라인에서 입력하면 전체 매뉴얼을 볼 수 있다.

    # 설정
    # --------
    # 여기에 있는 대부분의 설정들은 toggle-* 이나 옵션 메뉴(기본값은 'o' 키)를 통해 토글할 수 있다.

    # 뷰 설정
    #
    # 지원되는 컬럼 유형과 옵션들:
    #
    # author
    # - display (enum) [no|full|abbreviated|email|email-user]
    # : 작성자 정보를 표시하는가?
    # (예: author:display=full)
    #
    # commit-title
    # - display (bool) : 커밋 타이틀 표시하는가?
    # - graph (enum) [no|v2|v1] : 커밋 그래프를 보여주는가? (main view만 해당, 낮은 버전은 yes/no)
    # - refs (bool) : 브랜치와 태그, 리모트를 보여주는가? (main view만 해당)
    # - overflow (boolint) : 넘치는 부분에 대해 하이라이팅하는가? 활성화하면 기본값은 50이다.
    # (예: commit-title:display=yes,graph=yes,refs=yes,overflow=no)
    #
    # date
    # - display (enum) [no|default|local|relative|short]
    # : 날짜를 보여주는가?
    # (예: date:display=default)
    #
    # file-name
    # - display (enum) [no|always|auto] : 파일명을 보여주는가?
    # (예: file-name:display=auto)
    #
    # file-size
    # - display (enum) [no|default|units] : 파일 사이즈를 보여주는가?
    # (예: file-size:display=default)
    #
    # id
    # - display (bool) : commit/tree ID를 보여주는가?
    # (예: id:display=yes)
    #
    # line-number
    # - display (bool) : 줄번호를 표시하는가?
    # - interval (int) : 줄번호 표시 간격. 기본값은 5
    # (예: line-number:display=yes,interval=5)
    #
    # mode
    # - display (bool) : 파일 모드를 표시하는가?
    # (예: mode:display=yes)
    #
    # status
    # - display (enum) [no|short|long] : status label을 표시하는가?
    # (예: status:display=long)
    #
    # text
    # - display (bool) : 텍스트를 표시하는가?
    # - commit-title-overflow (boolint) : log view 및 diff view 에서 넘치는 부분을 하이라이팅하는가?
    # (예: text:display=yes)
    #
    # 모든 컬럼들은 최대 너비를 설정하기위한 width 옵션을 지원한다. 0으로 설정하면 사이즈를 자동으로 조절한다.

    set blame-view = date:default author:full file-name:auto id:yes,color line-number:no,interval=5 text:display=yes
    set grep-view = file-name:no line-number:yes,interval=1 text:display=yes
    set main-view = line-number:no,interval=5 id:display=yes,width=10 date:display=default author:display=full commit-title:display=yes,graph=yes,refs=yes,overflow=no
    set refs-view = line-number:no id:no date:display=default author:full ref commit-title:display=yes
    set stash-view = line-number:no,interval=5 id:no date:default author:display=full commit-title:display=yes
    set status-view = line-number:no,interval=5 status:display=long file-name:display=always
    set tree-view = line-number:no,interval=5 mode author:full file-size date:default id:no file-name:display=always

    # 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

    # 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-untracked-dirs = yes # Show files in untracked directories? (status)
    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 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 # Ignore case when searching?
    # 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 = vertical # 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 mouse = no # Enable mouse support?
    set mouse-scroll = 3 # Number of lines to scroll via the mouse

    # 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.
    #
    # <C-D> 컨트럴키 + d
    #
    # 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 main R ?git rebase -i %(commit)
    bind main ! ?git rebase --abort
    bind main p ?git pull %(remote) %(branch)
    bind main P ?git push %(remote) %(branch)
    bind status C !git commit
    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 # 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

    # 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 ? move-half-page-down
    #bind generic ? move-half-page-up
    bind generic <PgDown> move-page-down
    bind generic <C-D> move-page-down
    bind generic <Space> move-page-down
    bind generic <PgUp> move-page-up
    bind generic <C-U> 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

    # 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-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 "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 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 \
    \
    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