| TIGRC(5) | Tig Manual | TIGRC(5) |
نام (NAME)
tigrc - پرونده پیکربندی Tig
خلاصه دستور (SYNOPSIS)
set variable = value bind keymap key action color area fgcolor bgcolor [attributes] source path
توضیحات (DESCRIPTION)
شما میتوانید با قرار دادن یک گزینه در پرونده ~/.tigrc آن را به طور دائمی تنظیم کنید. این پرونده از مجموعهای از دستورات تشکیل شده است. هر خط از پرونده فقط میتواند شامل یک دستور باشد. اگر انتهای هر خط با نویسه بکاسلش (\) خاتمه یابد، دستورات میتوانند در چند خط ادامه یابند.
علامت هش (#) به عنوان نویسه توضیحات (کامنت) استفاده میشود. تمام متن پس از نویسه توضیح تا انتهای خط نادیده گرفته میشود. میتوانید از توضیحات برای یادداشتگذاری در پرونده مقداردهی اولیه خود استفاده کنید.
برخی از گزینهها را میتوان در زمان اجرا از طریق منوی گزینهها دستکاری کرد. علاوه بر این، گزینهها را میتوان با دستور اعلان :toggle یا با وارد کردن دستور پیکربندی در خط فرمان تغییر وضعیت داد.
در برخی محیطها، پیکربندی کاربر در مکان جایگزین $XDG_CONFIG_HOME/tig/config ذخیره میشود. برای اختصار، در این سند فقط به ~/.tigrc اشاره خواهد شد.
پیکربندی گیت (GIT CONFIGURATION)
به عنوان جایگزینی برای استفاده از ~/.tigrc، میتوان گزینههای Tig را با قرار دادن آنها در یکی از پروندههای پیکربندی گیت (Git) تنظیم کرد که در زمان راهاندازی توسط Tig خوانده میشوند. برای آگاهی از اینکه از چه پروندههایی استفاده کنید، به git-config(1) مراجعه نمایید. مثال زیر نحو پایه مورد استفاده برای تنظیمات، کلیدها و رنگها را نشان میدهد.
[tig] show-changes = true [tig "color"] cursor = yellow red bold [tig "bind"] generic = P parent
علاوه بر گزینههای خاص tig، گزینههای گیت زیر نیز از پیکربندی گیت خوانده میشوند:
color.*
core.abbrev
core.editor
core.worktree
gui.encoding
i18n.commitencoding
دستور SET (SET COMMAND)
تعدادی از متغیرهای انتخابی را میتوان از طریق دستور set پیکربندی کرد. نحو دستور به این صورت است:
set variables = value
از += برای الحاق مقدار به یک متغیر رشتهای استفاده کنید.
مثالها:
set commit-order = topo # مرتبسازی توپولوژیکی کامیتها
set git-colors = no # عدم خواندن تنظیمات رنگ گیت
set horizontal-scroll = 33% # پیمایش ۳۳٪ از عرض نما
set blame-options = -C -C -C # انتساب خطوط از فایلهای دیگر
set log-options += --minimal # استفاده از الگوریتم diff کمینه
# قرار دادن نام شاخهها درون () و تگها درون <>
set reference-format = (branch) <tag>
# پیکربندی ستونهای نمای blame با استفاده از دستوری که در چند خط ادامه دارد.
set blame-view = \
date:default \
author:abbreviated \
committer:abbreviated \
file-name:auto \
id:yes,color \
line-number:yes,interval=5 text
یا در پروندههای پیکربندی گیت:
[tig]
line-graphics = no # غیرفعال کردن نویسههای گرافیکی
tab-size = 8 # تعداد فاصلهها به ازای هر تب
نوع متغیرها میتواند بولی (bool)، عدد صحیح (int)، رشته (string) یا ترکیبی (mixed) باشد.
مقادیر بولی معتبر
مقادیر صحیح معتبر
مقادیر رشتهای معتبر
مقادیر ترکیبی معتبر
متغیرها (Variables)
متغیرهای زیر قابل تنظیم هستند:
diff-options (string)
blame-options (string)
log-options (string)
main-options (string)
reference-format (string)
line-graphics (mixed) [ascii|default|utf-8|auto|<bool>]
truncation-delimiter (mixed) [utf-8|<string>]
horizontal-scroll (mixed)
git-colors (list)
show-notes (mixed) [<reference>|<bool>]
show-changes (bool)
show-untracked (bool)
vertical-split (mixed) [auto|<bool>]
split-view-height (mixed)
split-view-width (mixed)
status-show-untracked-dirs (bool)
status-show-untracked-files (bool)
tab-size (int)
diff-context (int)
word-diff (bool)
diff-highlight (mixed)
diff-indicator (bool)
ignore-space (mixed) [no|all|some|at-eol|<bool>]
هشدار: هنگامی که ignore-space روی some، all یا at-eol تنظیم شده باشد، ممکن است status-update و status-revert هنگام بهروزرسانی یا بازگرداندن قطعاتی که شامل خطوطی با تغییرات فاصله هستند با شکست مواجه شوند. به طور مشابه، stage-update-line ممکن است هنگام بهروزرسانی خطی مجاور خطی با تغییرات فاصله با شکست مواجه شود.
commit-order (enum) [auto|default|topo|date|author-date|reverse]
ignore-case (enum) [no|yes|smart-case]
mailmap (bool)
wrap-lines (bool)
wrap-search (bool)
focus-child (bool)
send-child-enter (bool)
editor-line-number (bool)
history-size (int)
mouse (bool)
mouse-scroll (int)
mouse-wheel-cursor (bool)
pager-autoscroll (bool)
recurse-tree (bool)
pgrp (bool)
start-on-head (bool)
refresh-mode (mixed) [manual|auto|after-command|periodic|<bool>]
refresh-interval (int)
file-args (args)
rev-args (args)
تنظیمات نما (View settings)
تنظیمات نما ترتیب و گزینههای ستونهای مختلف یک نما را مشخص میکنند. هر تنظیم نما انتظار فهرستی جداشده با فاصله از مشخصات ستونها را دارد. مشخصات ستون با نوع ستون شروع میشود و به صورت اختیاری میتواند یک دونقطه (:) و فهرستی از گزینههای ستون به دنبال آن بیاید. به عنوان مثال، مشخصه ستون زیر یک ستون author (نویسنده) را تعریف میکند که ایمیل نویسنده را با عرض ثابت ۲۰ نویسه نمایش میدهد: author:email,width=20.
اولین مقدار گزینه در یک مشخصه ستون همیشه گزینه display است. هنگامی که هیچ مقداری برای display داده نشود، مقدار yes فرض میشود. برای گزینههای display که انتظار یک مقدار شمارشی دارند، این مقدار به طور خودکار به مقدار شمارشی پیشفرض تبدیل میشود. به عنوان مثال، تنظیم display برای file-name به طور خودکار به auto تبدیل خواهد شد.
مشخصات را میتوان برای یک ستون واحد نیز ارائه داد، به عنوان مثال برای بازنویسی پیشفرضها در پرونده tigrc سیستم. برای بازنویسی یک ستون واحد، از نام ستون به عنوان پسوند پس از نام تنظیمات نما استفاده کنید، مثلاً main-view-date امکان تنظیم تاریخ در نمای اصلی (main) را فراهم میکند.
مثالها:
# فعال کردن هم شناسه و هم شماره خطوط در نمای blame
set blame-view = date:default author:full committer:no file-name:auto \
id:yes,color line-number:yes,interval=5 text
# تغییر نمای grep به شکلی مشابه با قالب `git grep`
set grep-view = file-name:yes line-number:yes,interval=1 text
# نمایش اندازه فایلها به صورت واحد
set tree-view = line-number:no,interval=5 mode author:full committer:no \
file-size:units date:default id:no file-name
# نمایش شماره خطوط به ازای هر ۱۰ خط در نمای صفحهبندی
set pager-view = line-number:yes,interval=10 text
# میانبرهایی برای تغییر تنظیمات نما برای ستونی که قبلاً تعریف شده است
set main-view-date = custom
set main-view-date-format = "%Y-%m-%d %H:%M"
set blame-view-line-number = no
# استفاده از ترتیب کامیت پیشفرض گیت، حتی در صورت فعال بودن گراف کامیت.
set commit-order = default
فهرست زیر تنظیمات نمای موجود و انواع ستونهای پشتیبانیشده توسط آنها را نشان میدهد:
blob-view, diff-view, log-view, pager-view, stage-view
blame-view
grep-view
main-view, reflog-view
refs-view
stash-view
status-view
tree-view
انواع ستونهای پشتیبانیشده و گزینههای مربوط به هر ستون:
author, committer
commit-title
date
file-name
file-size
id
line-number
mode
ref
status
text
تمام گزینههای ستون قابل تغییر وضعیت هستند. برای گزینههای display، از نام گزینه به عنوان پیشوند همراه با یک خط تیره و نام ستون استفاده کنید. مثلاً :toggle author-display گزینه display را در ستون author تغییر وضعیت میدهد. برای تمام گزینههای دیگر از نام ستون به همراه یک خط تیره و سپس نام گزینه به عنوان پسوند استفاده کنید. مثلاً :toggle commit-title-graph گزینه graph را در ستون commit-title تغییر وضعیت میدهد. همچنین میتوانید از منوی گزینهها برای تغییر گزینهها استفاده کنید.
دستور BIND (BIND COMMAND)
با استفاده از دستورات bind، کلیدها میتوانند در صورت فشردن در یک نگاشت کلید معین به یک عملیات نگاشت شوند. نحو دستور به این صورت است:
bind keymap key action
مثالها:
# افزودن کلید میانبر برای پرش سریع به قطعه diff بعدی در نمای stage bind stage <Enter> :/^@@ # غیرفعال کردن نگاشت پیشفرض برای اجرای git-gc bind generic G none # دستور خارجی تعریفشده توسط کاربر برای اصلاح آخرین کامیت bind status + !git commit --amend # دستور داخلی تعریفشده توسط کاربر برای بارگذاری مجدد ~/.tigrc bind generic S :source ~/.tigrc # نویسههای با کدگذاری UTF8 میتوانند به عنوان مقادیر کلید استفاده شوند. bind generic ø @sh -c "printf '%s' %(commit) | pbcopy"
یا در پروندههای پیکربندی گیت:
[tig "bind"]
# لغو انتساب کلید پیشفرض خروج
generic = Q none
# چریپیک کامیت فعلی روی شاخه فعلی
main = C !git cherry-pick %(commit)
کلیدها ابتدا با جستجو در کلیدهای میانبر نمای فعلی، سپس کلیدهای میانبر نگاشت کلید generic، و در نهایت کلیدهای میانبر پیشفرض نگاشت میشوند. بنابراین، کلیدهای میانبر نما کلیدهای میانبر generic را بازنویسی میکنند که خود کلیدهای میانبر توکار را بازنویسی میکنند.
حذف کلید میانبر (unbind) از تمام نگاشتهای کلید به طور همزمان با دستور bind generic key none انجام میشود.
کلیدهای میانبر در خط فرمان معمولاً توسط کتابخانه readline اداره میشوند و به طور جداگانه در ~/.inputrc پیکربندی میشوند. به readline(1) مراجعه کنید. برنامه Tig بخش $if tig را در ~/.inputrc به رسمیت میشناسد اما الزامی به وجود آن ندارد.
نگاشتهای کلید (Keymaps)
مقادیر کلید (Key values)
<Enter>, <Space>, <Backspace>, <Tab>, <Escape> or <Esc>, <Left>, <Right>, <Up>, <Down>, <Insert> or <Ins>, <Delete> or <Del>, <Hash>, <LessThan> or <LT>, <Home>, <End>, <PageUp> or <PgUp>, <PageDown> or <PgDown>, <ScrollBack> or <SBack>, <ScrollFwd> or <SFwd>, <ShiftTab> or <BackTab>, <ShiftLeft>, <ShiftRight>, <ShiftDelete> or <ShiftDel>, <ShiftHome>, <ShiftEnd>, <SingleQuote>, <DoubleQuote>, <F1> ... <F19>
برای تعریف نگاشتهای کلید با کلید Ctrl، از <Ctrl-key> استفاده کنید. علاوه بر این، ترکیبهای کلیدی شامل کلید Escape اولیه به همراه یک مقدار کلید عادی را میتوان با استفاده از <Esc>key مقید کرد.
مثالها:
bind main R refresh bind main <Down> next bind main <Ctrl-f> scroll-page-down bind main <Esc>o options bind main <ShiftTab> parent
نکات (Notes)
عملیاتها (Actions)
دستورات خارجی تعریفشده توسط کاربر (External user-defined command)
این عملیاتها با یک یا چند مورد از فلگهای گزینهای زیر شروع میشوند که پس از آنها دستور مورد نظر برای اجرا قرار میگیرد.
| ! | اجرای دستور در پیشزمینه همراه با نمایش خروجی. |
| @ | اجرای دستور در پسزمینه بدون هیچ خروجی. |
| + | اجرای همگام دستور، و چاپ خط اول خروجی در نوار وضعیت. |
| ? | درخواست تایید از کاربر پیش از اجرای دستور. |
| < | خروج از Tig پس از اجرای دستور. |
| > | بازگشایی مجدد و فوری Tig در آخرین نمای نمایشدادهشده پس از اجرای دستور. |
مگر اینکه طور دیگری مشخص شده باشد، دستورات در پیشزمینه همراه با نمایش خروجی کنسول اجرا میشوند (همانند حالتی که ! مشخص شده باشد). هنگامی که چندین گزینه دستور مشخص شده باشند رفتار آنها با یکدیگر ترکیب میشود، برای مثال "?<git commit" ابتدا از کاربر برای اجرای دستور تایید میگیرد و پس از پایان کار، از Tig خارج میشود.
توجه داشته باشید که اگر میخواهید در دستورات خود از پایپها یا تغییر مسیر (redirection) استفاده کنید، باید آنها را در یک زیرپوسته اجرا کنید، یعنی دستورات خود را در sh -c '<commands>' قرار دهید.
متغیرهای
وضعیت مرور
(Browsing state variables)
دستورات تعریفشده توسط کاربر میتوانند به صورت اختیاری با استفاده از نامهای متغیر زیر به وضعیت درونی Tig ارجاع دهند، که قبل از اجرای دستورات جایگزین میشوند:
| %(head) | شناسه head که هماکنون مشاهده میشود. مقدار پیشفرض HEAD است. |
| %(commit) | شناسه کامیت انتخابشده فعلی. |
| %(blob) | شناسه blob انتخابشده فعلی. |
| %(branch) | نام شاخه انتخابشده فعلی. |
| %(remote) | نام مخزن دوردست (remote) انتخابشده فعلی. برای شاخههای دوردست %(branch) حاوی نام شاخه خواهد بود. |
| %(tag) | نام تگ انتخابشده فعلی. |
| %(refname) | نام مرجع انتخابشده فعلی شامل نام مخزن دوردست برای شاخههای دوردست. |
| %(stash) | نام stash انتخابشده فعلی. |
| %(directory) | مسیر دایرکتوری جاری در نمای درخت یا "." در صورت تعریفنشده بودن. |
| %(file) | فایل انتخابشده فعلی. |
| %(file_old) | نام پیشین فایل انتخابشده فعلی. |
| %(lineno) | شماره خط انتخابشده فعلی. مقدار پیشفرض 0 است. |
| %(lineno_old) | شماره خط انتخابشده فعلی، پیش از اعمال diff. مقدار پیشفرض 0 است. |
| %(status) | وضعیت استیج خط انتخابشده فعلی. |
| %(ref) | مرجع ارائهشده به blame، یا HEAD در صورت تعریفنشده بودن. |
| %(revargs) | آرگومانهای بازبینی (revision) ارائهشده در خط فرمان. |
| %(fileargs) | آرگومانهای فایل ارائهشده در خط فرمان. |
| %(cmdlineargs) | تمام گزینههای دیگر ارائهشده در خط فرمان. |
| %(diffargs) | گزینههای حاصل از diff-options یا TIG_DIFF_OPTS مورد استفاده در نمای diff و stage. |
| %(blameargs) | گزینههای حاصل از blame-options مورد استفاده در نمای blame. |
| %(logargs) | گزینههای حاصل از log-options مورد استفاده در نمای log. |
| %(mainargs) | گزینههای حاصل از main-options مورد استفاده در نمای main. |
| %(prompt) | درخواست مقدار آرگومان از کاربر. به صورت اختیاری میتوانید با "%(prompt Enter branch name: )" یک اعلان سفارشی تعیین کنید. |
| %(text) | ستون متنی خط انتخابشده فعلی. |
| %(repo:head) | نام شاخه بررسیشده (checked out)، برای مثال master |
| %(repo:head-id) | شناسه کامیت شاخه بررسیشده. |
| %(repo:remote) | نام مخزن دوردست مرتبط با شاخه بررسیشده، برای مثال origin. |
| %(repo:upstream) | شاخه بالادست (upstream) مرتبط با شاخه بررسیشده، برای مثال origin/master. |
| %(repo:cdup) | مسیر تغییر دایرکتوری به ریشه مخزن، برای مثال ../ |
| %(repo:prefix) | پیشوند مسیر دایرکتوری کاری فعلی، برای مثال subdir/. |
| %(repo:git-dir) | مسیر دایرکتوری گیت، برای مثال /src/repo/.git. |
| %(repo:worktree) | مسیر درخت کاری (worktree)، در صورت تعریف شدن. |
| %(repo:is-inside-work-tree) | اینکه آیا Tig درون یک درخت کاری اجرا میشود یا خیر (true یا false). |
مثالها:
# ذخیره کامیت فعلی به عنوان یک فایل پچ هنگامی که کاربر یک کامیت را # در نمای اصلی انتخاب کرده و کلید 'S' را فشار میدهد. bind main S !git format-patch -1 %(commit) # ایجاد و بررسی یک شاخه جدید؛ همراه با تعیین اعلان سفارشی bind main B ?git checkout -b "%(prompt Enter new branch name: )" # نمایش آمار کامیت برای نویسنده زیر مکاننما bind main U +sh -c 'git --0-pager shortlog -s --uthor="$(git show -s --rmat=%aE %(commit))" </dev/tty'
دستورات
پیشرفته
شبیه به
پوسته (Advanced shell-like commands)
اگر دستور شما نیازمند استفاده از ویژگیهای پویا، مانند زیرپوستهها، بسط متغیرهای محیطی و کنترل فرایندها باشد، این کار با استفاده از یک دستور پوسته قابل دستیابی است:
مثال ۱. پیکربندی یک اتصال کلید برای کپی شناسه کامیت فعلی در کلیپبورد.
bind generic I @sh -c "echo -n %(commit) | xclip -selection c"
یا با استفاده از ترکیبی از نامهای مستعار گیت و دستورات خارجی Tig. ورودیهای نمونه زیر را میتوان در فایلهای .gitconfig یا .git/config قرار داد:
مثال ۲. پیکربندی گیت که کلیدهای Tig را به نامهای مستعار دستورات گیت متصل میکند.
[alias]
gitk-bg = !"gitk HEAD --0t $(git rev-parse --emotes) &"
publish = !"for i in origin public; do git push $i; done"
[tig "bind"]
generic = V @git gitk-bg
generic = > !git publish
دستورات داخلی تعریفشده توسط کاربر (Internal user-defined commands)
عملیاتی که با یک : آغاز میشوند به عنوان دستورات داخلی اجرا و تفسیر شده و مانند دستورات اجراشده از طریق اعلان خط فرمان Tig عمل میکنند. دستورات داخلی معتبر شامل گزینههای فایل پیکربندی (همانطور که در این سند شرح داده شده است) و دستورات نمای صفحهبند (pager view) هستند. مثالها:
# بارگذاری مجدد ~/.tigrc هنگام فشرده شدن 'S' bind generic S :source .tigrc # تغییر نمای diff برای نمایش تمام تغییرات کامیت بدون در نظر گرفتن محدودیتهای فایل bind diff F :set diff-options = --ll-diff # نمایش خروجی git-reflog(1) در نمای صفحهبند bind generic W :!git reflog # جستجو برای تکه (chunk) قبلی diff و سربرگ بعدی diff bind stage 2 :?^@@ bind stage D :/^diff --(git|cc) bind main I :toggle id # نمایش/پنهانسازی ستون شناسه (ID) bind diff D :toggle diff-options --nimal # استفاده از الگوریتم diff کمینه bind diff [ :toggle diff-context -3 # کاهش متن زمینه (آرگومان -U) bind diff ] :toggle diff-context +3 # افزایش متن زمینه bind generic V :toggle split-view-height -10% # کاهش ارتفاع نمای دو نیمشده
مشابه دستورات خارجی، دستورات نمای صفحهبند میتوانند حاوی نامهای متغیری باشند که قبل از اجرای دستور جایگزین میشوند.
نام عملیاتها (Action names)
نامهای معتبر عملیات در ادامه شرح داده شدهاند. توجه داشته باشید که تمامی نامهای عملیات به حروف بزرگ و کوچک حساس نیستند، و میتوانید از -، _ و . به جای یکدیگر استفاده کنید؛ برای مثال "view-main"، "View.Main" و "VIEW_MAIN" یکسان هستند.
تعویض
نما (View switching)
| view-main | نمایش نمای اصلی (main view) |
| view-diff | نمایش نمای diff |
| view-log | نمایش نمای لاگ (log view) |
| view-reflog | نمایش نمای reflog |
| view-tree | نمایش نمای درخت (tree view) |
| view-blob | نمایش نمای blob |
| view-blame | نمایش نمای blame |
| view-refs | نمایش نمای مراجع (refs view) |
| view-status | نمایش نمای وضعیت (status view) |
| view-stage | نمایش نمای استیج (stage view) |
| view-stash | نمایش نمای stash |
| view-grep | نمایش نمای grep |
| view-pager | نمایش نمای صفحهبند (pager view) |
| view-help | نمایش نمای راهنما (help view) |
دستکاری
نما (View manipulation)
| enter | ورود و باز کردن خط انتخابشده |
| back | بازگشت به وضعیت قبلی نما |
| next | رفتن به مورد بعدی |
| previous | رفتن به مورد قبلی |
| parent | رفتن به والد |
| view-next | انتقال تمرکز به نمای بعدی |
| refresh | بارگذاری مجدد و نوسازی نما |
| maximize | بزرگنمایی نمای فعلی به اندازه تمام صفحه |
| view-close | بستن نمای فعلی |
| view-close-no-quit | بستن نمای فعلی بدون خروج از برنامه |
| quit | بستن تمامی نماها و خروج از برنامه |
عملیاتهای
ویژه نما (View-specific
actions)
| status-update | استیج/آناستیج کردن تغییرات تکه (chunk) یا فایل |
| status-revert | بازگردانی تغییرات تکه (chunk) یا فایل |
| status-merge | ادغام فایل با استفاده از ابزار خارجی |
| stage-update-line | استیج/آناستیج کردن یک خط منفرد |
| stage-update-part | استیج/آناستیج کردن بخشی از یک تکه |
| stage-split-chunk | تقسیم تکه فعلی diff |
پیمایش
مکاننما (Cursor
navigation)
| move-up | حرکت مکاننما یک خط به بالا |
| move-down | حرکت مکاننما یک خط به پایین |
| move-page-up | حرکت مکاننما یک صفحه به بالا |
| move-page-down | حرکت مکاننما یک صفحه به پایین |
| move-half-page-up | حرکت مکاننما نیمصفحه به بالا |
| move-half-page-down | حرکت مکاننما نیمصفحه به پایین |
| move-first-line | حرکت مکاننما به خط اول |
| move-last-line | حرکت مکاننما به خط آخر |
| move-next-merge | حرکت مکاننما به کامیت ادغام بعدی |
| move-prev-merge | حرکت مکاننما به کامیت ادغام قبلی |
پیمایش
صفحه (Scrolling)
| scroll-line-up | پیمایش یک خط به بالا |
| scroll-line-down | پیمایش یک خط به پایین |
| scroll-page-up | پیمایش یک صفحه به بالا |
| scroll-page-down | پیمایش یک صفحه به پایین |
| scroll-half-page-up | پیمایش نیمصفحه به بالا |
| scroll-half-page-down | پیمایش نیمصفحه به پایین |
| scroll-first-col | پیمایش به ستونهای آغازین خط |
| scroll-left | پیمایش دو ستون به چپ |
| scroll-right | پیمایش دو ستون به راست |
جستجو (Searching)
| search | جستجو در نما |
| search-back | جستجو به عقب در نما |
| find-next | یافتن مورد منطبق بعدی در جستجو |
| find-prev | یافتن مورد منطبق قبلی در جستجو |
متفرقه (Misc)
| edit | باز کردن در ویرایشگر |
| prompt | باز کردن اعلان خط فرمان |
| options | باز کردن منوی گزینهها |
| screen-redraw | بازترسیم صفحه |
| stop-loading | توقف بارگذاری تمامی نماها |
| show-version | نمایش اطلاعات نسخه |
| none | هیچ کاری انجام نده |
دستور رنگ (COLOR COMMAND)
دستورات رنگ، برجستهسازی و سبکهای رابط کاربری را کنترل میکنند. اگر ترمینال شما از رنگ پشتیبانی میکند و متغیر محیطی NO_COLOR تنظیم نشده یا خالی باشد، این دستورات را میتوان برای اختصاص ترکیب رنگهای پیشزمینه و پسزمینه به نواحی مشخص به کار برد. به صورت اختیاری، یک صفت میتواند به عنوان آخرین پارامتر تعیین شود. ساختار دستور به این صورت است:
color area fgcolor bgcolor [attributes]
مثالها:
# بازنویسی رنگهای پیشفرض ترمینال به سفید روی سیاه. color default white black # رنگهای Diff color diff-header yellow default color diff-index blue default color diff-chunk magenta default color "Reported-by:" green default # رنگ ویژه نما color tree.date black cyan bold # رنگ سفارشی color "/(note|warning|error):/" yellow default bold
یا در فایلهای پیکربندی گیت:
[tig "color"]
# یک خط مکاننمای با ظاهر غیرمعمول
cursor = red default underline
# رنگهای رابط کاربری
title-blur = white blue
title-focus = white blue bold
# رنگ ویژه نما
[tig "color.tree"]
date = cyan default bold
نامهای ناحیه (Area names)
نامهای رنگ (Color names)
رنگها را میتوان با استفاده از کلیدواژههای color0، color1، ...، colorN-1 نیز مشخص کرد (که در آن N تعداد رنگهای پشتیبانیشده توسط ترمینال شما است). این امر زمانی مفید است که رنگها را برای نمایشگر خود بازنگاشت کردهاید یا میخواهید از رنگهای ارائهشده توسط ترمینالهای ۸۸ رنگی و ۲۵۶ رنگی بهره ببرید. توجه داشته باشید که پیشوند color اختیاری است. در صورت تمایل میتوانید همانند فایلهای پیکربندی گیت، رنگها را مستقیماً با شمارههای 0، 1، ...، N-1 مشخص کنید.
نامهای صفت (Attribute names)
رنگهای رابط کاربری (UI colors)
رنگها و صفتهایی که باید برای متنهای فاقد برجستهسازی استفاده شوند یا مواردی که استفاده از رنگهای پیشفرض ترمینال را مشخص میکنند، میتوان با تنظیم گزینه رنگ default کنترل کرد.
جدول ۱. عمومی (General)
| default | بازنویسی رنگهای پیشفرض ترمینال (به توضیحات بالا مراجعه کنید). |
| cursor | خط مکاننما برای نمای جاری. |
| cursor-blur | خط مکاننمای هر نمایی که در پسزمینه قرار دارد. |
| status | پنجره وضعیت که پیامهای اطلاعرسانی را نشان میدهد. |
| title-focus | پنجره عنوان برای نمای جاری. |
| title-blur | پنجره عنوان هر نمایی که در پسزمینه قرار دارد. |
| search-result | نتیجه برجستهشده جستجو. |
| delimiter | جداکننده نمایشدادهشده برای خطوط کوتاهشده. |
| header | خطوط سربرگ نما. از status.header برای رنگآمیزی بخشهای استیجشده، استیجنشده و ردگیرینشده در نمای وضعیت استفاده کنید. از help.header برای رنگآمیزی بخشهای نگاشت کلید در نمای راهنما استفاده کنید. |
| line-number | شماره خطوط. |
| id | شناسه کامیت. |
| date | تاریخ ثبتکننده یا تاریخ نویسنده. |
| author | نویسنده کامیت. |
| committer | ثبتکننده کامیت. |
| mode | حالت فایل شامل دسترسیها و نوع آن. |
| overflow | سرریز متن عنوان. |
| directory | نام دایرکتوری. |
| file | نام فایل. |
| file-size | اندازه فایل. |
جدول ۲. رنگهای نمای اصلی (Main view colors)
| graph-commit | نقطه کامیت در نمودار بازبینیها. |
| palette-[0-13] | ۱۴ رنگ مختلف، مورد استفاده برای متمایز کردن شاخهها یا کامیتها. به صورت پیشفرض، پالت از رنگهای اسکی استفاده میکند که نیمه دوم آنها صفت بولد را برای ایجاد رنگی درخشانتر فعال دارند. مثال: palette-0 = red |
| main-commit | توضیحات کامیت. |
| main-annotated | توضیحات کامیت برای یک کامیت حاشیهنویسیشده. |
| main-head | برچسب شاخه جاری. |
| main-remote | برچسب یک مخزن دوردست. |
| main-tracked | برچسب مخزن دوردستی که توسط شاخه جاری ردگیری میشود. |
| main-tag | برچسب یک تگ امضاشده. |
| main-local-tag | برچسب یک تگ محلی. |
| main-ref | برچسب یک شاخه. |
| main-replace | برچسب مرجع جایگزینشده. |
| main-stash | برچسب stash. |
| main-note | برچسب یادداشتها (notes). |
| main-prefetch | برچسب مرجع پیشواکشیشده توسط git maintenance. |
| main-other | برچسب هر مرجع دیگر. |
جدول ۳. نمای وضعیت (Status view)
| stat-none | برچسب وضعیت خالی. |
| stat-staged | فلگ وضعیت فایلهای استیجشده. |
| stat-unstaged | فلگ وضعیت فایلهای استیجنشده. |
| stat-untracked | فلگ وضعیت فایلهای ردگیرینشده. |
جدول ۴. نمای راهنما (Help view)
| help-group | نام گروه راهنما. |
| help-action | نام عملیات راهنما. |
برجستهسازی (Highlighting)
علامتگذاری
Diff (Diff markup)
diff-header, diff-chunk, diff-stat, diff-add, diff-add2, diff-del, diff-del2, diff-add-highlight, diff-del-highlight
علامتگذاری پیشرفته Diff گیت (Enhanced Git diff markup)
diff-oldmode, diff-newmode, diff-copy-from, diff-copy-to, diff-similarity, diff-index
قالببندی زیبای سربرگهای کامیت (Pretty print commit headers)
تعیین شده باشد. این شامل خطوطی مانند اطلاعات ادغام، شناسه کامیت، و تاریخ نویسنده و ثبتکننده میشود.
pp-refs, pp-reflog, pp-reflogmsg, pp-merge
سربرگ خام کامیت (Raw commit header)
داده شده باشد، با این حال commit تقریباً همهجا حاضر است.
commit, parent, tree, author, committer
پیام کامیت (Commit message)
علامتگذاری درخت (Tree markup)
tree-dir, tree-file
دستور SOURCE (SOURCE COMMAND)
دستورات source خواندن فایلهای پیکربندی اضافی را امکانپذیر میسازند. فایلهای خواندهشده به صورت درجا گنجانده میشوند، بدین معنی که هنگام مواجهه با یک دستور source، فایل بلافاصله خوانده خواهد شد. هر دستوری که بعداً در فایل پیکربندی فعلی بیاید اولویت خواهد داشت.
اگر مسیر دادهشده وجود نداشته باشد، tig همراه با یک هشدار به کار خود ادامه میدهد. برای نادیده گرفتن این هشدار، پارامتر -q را مشخص کنید.
ساختار دستور به این صورت است:
source [-q] path
مثالها:
source ~/.tig/colorscheme.tigrc source ~/.tig/keybindings.tigrc
حق نشر (COPYRIGHT)
Copyright (c) 2006-2026 Jonas Fonseca <jonas.fonseca@gmail.com[1]>
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط اجازهنامه عمومی همگانی گنو (GNU General Public License) همانطور که توسط بنیاد نرمافزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده و/یا تغییر دهید.
همچنین ببینید (SEE ALSO)
tig(1), tigmanual(7), git(7), git-config(1)
نکات (NOTES)
- 1.
- jonas.fonseca@gmail.com
| 2026-06-13 | Tig 2.6.1 |