tig をもっと理解して使おうと tig の helpビューの内容を纏めてみた。
help ビューの内容はキーバインディングのみで説明が一切ないのでちょっとだけ補足コメント付けてみた。
ビュー切り替え
key |
name |
切り替え先のビュー |
ビューの説明 |
m |
view-main |
mainビュー |
commit履歴を表示するメインの画面 |
d |
view-diff |
diffビュー |
特定のコミットの差分を表示する画面 |
l |
view-log |
logビュー |
git log 相当の画面 |
t |
view-tree |
treeビュー |
ファイルツリー |
f |
view-blob |
blobビュー |
実ファイルの中身を確認できるビュー |
b |
view-blame |
blameビュー |
git blame 相当の画面 |
r |
view-refs |
refsビュー |
git branch -a 相当の画面 |
s, S |
view-status |
statusビュー |
git status 相当の画面 |
c |
view-stage |
stageビュー |
stage したファイルの確認, 編集できるビュー |
y |
view-stash |
stashビュー |
git stash 相当 |
g |
view-grep |
grepビュー |
grep |
p |
view-pager |
pagerビュー |
未調査 |
h |
view-help |
helpビュー |
:h |
全部でビューが13種類もあるんですねー。3種類位しか使ってなかった。
操作
key |
name |
操作 |
Enter |
enter |
決定, 選択行を開く |
< |
back |
前の表示に戻る |
<Down>, <Ctrl-N> |
next |
次に進む |
<Up>, <Ctrl-P> |
previous |
前に戻る |
, |
parent |
一階層戻る |
<Tab> |
view-next |
次の view をフォーカス |
R, <F5> |
refresh |
再読み込み |
O |
maximize |
現在の view を最大化 |
q |
view-close |
現在の view を閉じる |
Q |
quit |
すべての view を閉じて終了 |
カーソル移動
key |
name |
移動先 |
k |
move-up |
一行上へ移動 |
j |
move-down |
一行下へ移動 |
<PageDown>, <Ctrl-D>, <Space> |
move-page-down |
1ページ下へ移動 |
<PageUp>, <Ctrl-U>, - |
move-page-up |
1ページ上へ移動 |
<Home> |
move-first-line |
行頭へ移動 |
<End> |
move-last-line |
行末へ移動 |
スクロール移動
key |
name |
移動先 |
<Insert>, <Ctrl-Y> |
scroll-line-up |
一行上へスクロール |
<Delete>, <Ctrl-E> |
scroll-line-down |
一行下へスクロール |
<ScrollBack> |
scroll-page-up |
1ページ上へスクロール |
<ScrollFwd> |
scroll-page-down |
1ページ下へスクロール |
| |
scroll-first-col |
1つ目のカラムへスクロール |
<Left> |
scroll-left |
2つ左のカラムへスクロール |
<Right> |
scroll-right |
2つ右のカラムへスクロール |
検索
key |
name |
補足 |
/ |
search |
/hoge でこのview内のhogeを検索し、カーソル位置から最も近い次の出現箇所へ移動 |
? |
search-back |
?hoge でこのview内のhogeを検索し、カーソル位置から最も近い前の出現箇所へ移動 |
n |
find-next |
次の出現箇所へ移動 |
N |
find-prev |
前の出現箇所へ移動 |
オプション操作
key |
name |
操作 |
o |
options |
オプションメニューを開く |
その他
key |
name |
補足 |
e |
edit |
エディタで開く |
: |
prompt |
プロンプトを開く |
<Ctrl-L> |
screen-redraw |
再描画 |
z |
stop-loading |
すべての読み込み中のviewを止める |
v |
show-version |
バージョン情報を表示 |
そのままエディタで開けられるの今知った...
表示切り替え
key |
name |
I |
:toggle sort-order |
i |
:toggle sort-field |
# |
:toggle line-number |
D |
:toggle date |
A |
:toggle author |
~ |
:toggle line-graphics |
F |
:toggle file-name |
W |
:toggle ignore-space |
X |
:toggle id |
$ |
:toggle commit-title-overflow |
% |
:toggle file-filter |
例えば mainビューで D を押すと押す度に日付表示を切り替えることが出来る。
各キーごとに有効なviewが異なるようでちょっと使い勝手が...
使いたいものを .tigrc に書いといた方が良さげ。
表示切り替え
key |
name |
G |
:toggle commit-title-graph |
F |
:toggle commit-title-refs |
コミットグラフは便利だけどコミットコメントを見る際には全角/半角記号のレンダリングが崩れてしまって、コメントが見づらい。
そんな時に G は非常に有用。
外部コマンドの実行
key |
name |
補足 |
C |
?git cherry-pick %(commit) |
git cherry-pick |
表示切り替え
key |
name |
補足 |
[ |
:toggle diff-context -1 |
差分前後の表示行数を減らす |
] |
:toggle diff-context +1 |
差分前後の表示行数を増やす |
[, ] で差分前後の表示行数の増減が可能。あーこれ欲しかった機能だ。
内部コマンドの実行
key |
name |
補足 |
@ |
:/^@@ |
次の差分へ移動 |
:?^@@ も登録しておくといいかも。
key |
name |
C |
?git checkout %(branch) |
! |
?git branch -D %(branch) |
ブランチの checkout と削除が行える。どちらも確認が出る。
key |
name |
補足 |
u |
status-update |
ファイルを stage / unstage する。 git add <file>, git reset @ <file> 相当 |
! |
status-revert |
revert する。実質git checkout <file> 相当? |
M |
status-merge |
外部merge ツールを起動してmerge する |
外部コマンドの実行
key |
name |
補足 |
C |
!git commit |
git commit します |
はい。
key |
name |
補足 |
u |
status-update |
ファイルを stage / unstage する。 git add <file>, git reset @ <file> 相当 |
! |
status-revert |
revert する。実質git checkout <file> 相当? |
1 |
stage-update-line |
現在の行を stage / unstage する |
\ |
stage-split-chunk |
何を分割するのかちと不明 |
1 は便利...なのかも知れない。
表示切り替え
key |
name |
補足 |
[ |
:toggle diff-context -1 |
差分前後の表示行数を減らす |
] |
:toggle diff-context +1 |
差分前後の表示行数を増やす |
diff ビューと一緒
内部コマンドの実行
key |
name |
補足 |
@ |
:/^@@ |
次の差分へ移動 |
diff ビューと一緒
key |
name |
補足 |
P |
?git stash pop %(stash) |
git stash pop |
! |
?git stash drop %(stash) |
stash の削除 |
git stash list より中身が確認しやすい分楽。
纏め
他のキーで機能を使いたい場合には、機能名(name)も表に纏めたので .tigrc にお好みで設定を書くといい。
特に git push は default では出来ない仕様なので自分で .tigrc にキーバインディングを追加する必要がある。
tig を便利な git viewer 位に思ってたけど、SourceTree と同等位の機能を持っててビックリした。
TODO:
次は .tigrc について纏める
tig(1)
tigrc(5)