| TMUX(1) | General Commands Manual | TMUX(1) |
نام (NAME)
tmux —
مالتیپلکسر
ترمینال
خلاصه دستور (SYNOPSIS)
tmux [-2CDhlNuVv]
[-c shell-command]
[-f file]
[-L socket-name]
[-S socket-path]
[-T features]
[command [flags]]
توضیحات (DESCRIPTION)
tmux یک
مالتیپلکسر
ترمینال
است: امکان
ایجاد،
دسترسی و
کنترل
چندین
ترمینال را
از طریق یک
صفحه واحد
فراهم
میکند.
tmux
میتواند
از صفحه جدا
(detach) شده و در
پسزمینه
به اجرای
خود ادامه
دهد، سپس
بعداً
مجدداً
متصل (reattach) شود.
هنگامی که
tmux
راهاندازی
میشود، یک
نشست (session)
جدید با یک
پنجره (window)
واحد ایجاد
کرده و آن را
روی صفحه
نمایش
میدهد. یک
خط وضعیت در
پایین
صفحه،
اطلاعات
مربوط به
نشست جاری
را نشان
میدهد و
برای وارد
کردن
دستورات
تعاملی
استفاده
میشود.
یک نشست
مجموعهای
از
شبهترمینالها
(pseudo terminals) تحت
مدیریت
tmux است. هر
نشست دارای
یک یا چند
پنجره
مرتبط با
خود است. یک
پنجره تمام
صفحه را
اشغال
میکند و
میتواند
به قابهای
(panes) مستطیلی
تقسیم شود،
که هر یک از
آنها یک
شبهترمینال
مجزا است
(صفحه
راهنمای
pty(4)
جزئیات فنی
شبهترمینالها
را مستند
کرده است). هر
تعداد
نمونه از
tmux
میتوانند
به یک نشست
متصل شوند،
و هر تعداد
پنجره
میتواند
در یک نشست
وجود داشته
باشد. به محض
اینکه تمام
نشستها
بسته (kill)
شوند، tmux
خارج
میشود.
هر نشست
ماندگار (persistent)
است و در
برابر قطع
ارتباط
ناخواسته
(مانند
پایان مهلت
اتصال
ssh(1)) یا
جدا شدن
تعمدی (با
فشردن
کلیدهای
‘C-b d’)
پابرجا
میماند.
tmux
میتواند
مجدداً با
دستور زیر
متصل شود:
$ tmux attachدر tmux, یک
نشست توسط
یک
کلاینت (client)
روی صفحه
نمایش داده
میشود و
تمام
نشستها
توسط یک
سرور (server)
واحد
مدیریت
میشوند.
سرور و هر
کلاینت
فرآیندهای
مجزایی
هستند که از
طریق یک
سوکت در
/tmp با
یکدیگر
ارتباط
برقرار
میکنند.
گزینهها به شرح زیر هستند:
-2- اجبار
tmuxبه این فرض که ترمینال از ۲۵۶ رنگ پشتیبانی میکند. این گزینه معادل-T256 است. -C- شروع در
حالت کنترل
(بخش CONTROL
MODE را
ببینید).
مشخص کردن
دو بار (
-CC) قابلیت echo را غیرفعال میکند. -cshell-command- اجرای
shell-command با
استفاده از
پوسته
پیشفرض. در
صورت لزوم،
سرور
tmuxبرای دریافت گزینهdefault-shellراهاندازی خواهد شد. این گزینه برای سازگاری با sh(1) هنگامی است کهtmuxبه عنوان یک پوسته ورود (login shell) استفاده میشود. -D- سرور
tmuxرا به صورت دیمن (daemon) راهاندازی نکن. این کار همچنین گزینهexit-emptyرا خاموش میکند. همراه با-D, امکان مشخص کردن command وجود ندارد. -ffile- مشخص کردن
یک فایل
پیکربندی
جایگزین. به
طور
پیشفرض،
tmuxدر صورت وجود، فایل پیکربندی سیستم را از /etc/tmux.conf بارگذاری کرده، سپس به دنبال فایل پیکربندی کاربر در ~/.tmux.conf یا $XDG_CONFIG_HOME/tmux/tmux.conf میگردد.فایل پیکربندی مجموعهای از دستورات
tmuxاست که هنگام راهاندازی اولیه سرور به ترتیب اجرا میشوند.tmuxفایلهای پیکربندی را یک بار پس از شروع به کار فرآیند سرور بارگذاری میکند. دستورsource-fileمیتواند برای بارگذاری یک فایل در زمانهای بعدی استفاده شود.tmuxپیامهای خطای ناشی از دستورات موجود در فایلهای پیکربندی را در اولین نشست ایجادشده نمایش میدهد و به پردازش بقیه فایل پیکربندی ادامه میدهد. -h- چاپ اطلاعات نحوه استفاده و خروج.
-Lsocket-nametmuxسوکت سرور را در دایرکتوری مشخصشده توسطTMUX_TMPDIRیا در صورت تنظیم نبودن آن، در /tmp ذخیره میکند. نام سوکت پیشفرض default است. این گزینه امکان تعیین یک نام سوکت متفاوت را فراهم میکند و اجازه میدهد چندین سرور مستقلtmuxاجرا شوند. برخلاف-Sنیازی به مسیر کامل نیست: تمام سوکتها در دایرکتوری tmux-UID زیر دایرکتوری ارائهشده توسطTMUX_TMPDIRیا در /tmp ایجاد میشوند. دایرکتوری tmux-UID توسطtmuxایجاد میشود و نباید برای عموم (world) قابل خواندن، نوشتن یا اجرا باشد.اگر سوکت به طور تصادفی حذف شود، سیگنال
SIGUSR1میتواند برای فرآیند سرورtmuxارسال شود تا مجدداً آن را بسازد (توجه داشته باشید که اگر هر یک از دایرکتوریهای والد وجود نداشته باشند، این عمل ناموفق خواهد بود).-l- رفتار به عنوان پوسته ورود (login shell). این فلگ در حال حاضر هیچ تاثیری ندارد و برای سازگاری با سایر پوستهها هنگام استفاده از tmux به عنوان پوسته ورود است.
-N- سرور را
راهاندازی
نکن، حتی
اگر دستور
معمولاً
این کار را
انجام دهد
(برای مثال
new-sessionیاstart-server). -Ssocket-path- مشخص کردن
مسیر کامل
جایگزین
برای سوکت
سرور. اگر
-Sمشخص شود، دایرکتوری سوکت پیشفرض استفاده نشده و هر فلگ-Lنادیده گرفته میشود. -Tfeatures- تنظیم
ویژگیهای
ترمینال
برای
کلاینت. این
یک فهرست
جداشده با
کاما از
ویژگیها
است. گزینه
terminal-featuresرا ببینید. -u- نوشتن
خروجی UTF-8 در
ترمینال،
حتی اگر
اولین
متغیر
محیطی
تنظیمشده
از میان
LC_ALL,LC_CTYPEیاLANGحاوی "UTF-8" یا "UTF8" نباشد. -V- گزارش نسخه
tmux. -v- درخواست
ثبت
گزارشهای
مشروح (verbose logging).
پیامهای
گزارش در
فایلهای
tmux-client-PID.log و
tmux-server-PID.log در
دایرکتوری
جاری ذخیره
خواهند شد،
که در آن
PID
شناسه
فرآیند (PID)
سرور یا
کلاینت است.
اگر
-vدو بار مشخص شود، یک فایل اضافی tmux-out-PID.log حاوی یک رونوشت از هر آنچهtmuxدر ترمینال مینویسد، تولید میشود.سیگنال
SIGUSR2میتواند برای فرآیند سرورtmuxارسال شود تا وضعیت ثبت گزارش را بین روشن (مانند حالتی که-vداده شده) و خاموش تغییر دهد (toggle). - command [flags]
- یکی از
مجموعهای
از دستورات
مورد
استفاده
برای کنترل
tmuxرا مطابق با توضیحات بخشهای بعدی مشخص میکند. اگر هیچ دستوری مشخص نشود، دستور موجود درdefault-client-commandدر نظر گرفته میشود که به طور پیشفرضnew-sessionاست.
کلیدهای میانبر پیشفرض (DEFAULT KEY BINDINGS)
tmux
میتواند
از طریق یک
کلاینت
متصلشده
با استفاده
از ترکیب یک
کلید
پیشوند (prefix)،
که به طور
پیشفرض
‘C-b’ (Ctrl-b)
است، و به
دنبال آن یک
کلید دستور
کنترل شود.
اتصالات کلیدهای دستوری پیشفرض به شرح زیر است:
- C-b
- ارسال کلید پیشوند (C-b) به برنامه.
- C-o
- چرخش قابها در پنجره جاری به سمت جلو.
- C-z
- تعلیق
کلاینت
tmux. - !
- تفکیک و خارج کردن قاب جاری از پنجره (تبدیل به پنجره مجزا).
- "
- تقسیم قاب جاری به دو بخش بالا و پایین.
- #
- فهرست کردن تمام بافرهای جایگذاری (paste buffers).
- $
- تغییر نام نشست جاری.
- %
- تقسیم قاب جاری به دو بخش چپ و راست.
- &
- بستن (kill) پنجره جاری.
- '
- درخواست ورودی برای انتخاب نمایه (index) یک پنجره.
- (
- تغییر وضعیت کلاینت متصل به نشست قبلی.
- )
- تغییر وضعیت کلاینت متصل به نشست بعدی.
- *
- ایجاد یک قاب شناور (floating pane) جدید.
- ,
- تغییر نام پنجره جاری.
- -
- حذف تازهترین بافر متنی کپیشده.
- .
- درخواست ورودی برای جابهجایی پنجره جاری به یک نمایه.
- 0 to 9
- انتخاب پنجرههای ۰ تا ۹.
- :
- ورود به خط
فرمان (command prompt)
برنامه
tmux. - ;
- انتقال به قاب فعال قبلی.
- =
- انتخاب تعاملی بافر مورد نظر برای چسباندن از یک فهرست.
- ?
- فهرست کردن تمام اتصالات کلیدها (key bindings).
- D
- انتخاب یک کلاینت برای جدا کردن (detach).
- L
- بازگرداندن کلاینت متصل به آخرین نشست.
- [
- ورود به حالت کپی برای کپی کردن متن یا مشاهده تاریخچه.
- ]
- چسباندن (paste) تازهترین بافر متنی کپیشده.
- c
- ایجاد یک پنجره جدید.
- d
- جدا کردن (detach) کلاینت جاری.
- f
- درخواست ورودی برای جستجوی متن در پنجرههای باز.
- i
- نمایش برخی اطلاعات درباره پنجره جاری.
- l
- انتقال به پنجره انتخابشده قبلی.
- m
- علامتگذاری
قاب جاری
(ببینید
select-pane-m). - M
- پاک کردن علامت قاب علامتگذاریشده.
- n
- رفتن به پنجره بعدی.
- o
- انتخاب قاب بعدی در پنجره جاری.
- p
- رفتن به پنجره قبلی.
- q
- نمایش کوتاه شمارههای نمایه پنلها.
- r
- بازترسیم اجباری کلاینت متصل.
- s
- انتخاب تعاملی یک نشست جدید برای کلاینت متصل.
- t
- نمایش زمان.
- w
- انتخاب تعاملی پنجره فعلی.
- x
- بستن (Kill) پنل فعلی.
- z
- تغییر وضعیت بزرگنمایی پنل فعلی.
- {
- جابهجایی پنل فعلی با پنل قبلی.
- }
- جابهجایی پنل فعلی با پنل بعدی.
- ~
- نمایش
پیامهای
قبلی از
tmux, در صورت وجود. - Page Up
- ورود به حالت رونوشت (copy mode) و اسکرول یک صفحه به بالا.
- Up, Down
- Left, Right
- تغییر مکان به پنل بالا، پایین، چپ یا راستِ پنل فعلی.
- M-1 to M-7
- چیدمان پنلها در یکی از هفت طرحبندی از پیش تعیینشده: even-horizontal، even-vertical، main-horizontal، main-horizontal-mirrored، main-vertical، main-vertical-mirrored، یا tiled.
- Space
- چیدمان پنجره فعلی در طرحبندی از پیش تعیینشده بعدی.
- M-n
- رفتن به پنجره بعدی دارای نشانگر زنگ یا فعالیت.
- M-o
- چرخش پنلها در پنجره فعلی به سمت عقب.
- M-p
- رفتن به پنجره قبلی دارای نشانگر زنگ یا فعالیت.
- C-Up, C-Down
- C-Left, C-Right
- تغییر اندازه پنل فعلی در گامهای یکخانهای (یک سلول).
- M-Up, M-Down
- M-Left, M-Right
- تغییر اندازه پنل فعلی در گامهای پنجخانهای (پنج سلول).
کلیدهای
میانبر را
میتوان با
دستورات
bind-key و unbind-key
تغییر داد.
تجزیه و اجرای دستورات (COMMAND PARSING AND EXECUTION)
tmux از
تعداد
زیادی
دستور که
میتوان
برای کنترل
رفتار آن
استفاده
کرد
پشتیبانی
میکند. هر
دستور
دارای نام
است و
میتواند
صفر یا چند
فلگ و
آرگومان
بپذیرد.
آنها را
میتوان با
دستور bind-key
به یک کلید
متصل کرد یا
از خط فرمان
پوسته، یک
اسکریپت
پوسته، یک
فایل
پیکربندی
یا خط فرمان
داخلی اجرا
نمود. برای
مثال، همان
دستور set-option
که از خط
فرمان
پوسته، از
~/.tmux.conf اجرا
شده و به یک
کلید متصل
شده است
ممکن است به
این شکل
باشد:
$ tmux set-option -g status-style bg=cyan set-option -g status-style bg=cyan bind-key C set-option -g status-style bg=cyan
در اینجا،
نام دستور
‘set-option’,
‘’
یک فلگ و
‘-gstatus-style’ و
‘bg=cyan’
آرگومان
هستند.
tmux بین
تجزیه و
اجرای
دستور
تمایز قائل
میشود.
برای اجرای
یک دستور،
tmux نیاز
دارد که آن
دستور به
نام و
آرگومانهایش
تقسیم شود.
این عمل،
تجزیه
دستور است.
اگر دستوری
از پوسته
اجرا شود،
پوسته آن را
تجزیه
میکند؛ از
درون tmux
یا از یک
فایل
پیکربندی،
tmux آن را
تجزیه
میکند.
نمونههایی
از مواردی
که tmux
دستورات را
تجزیه
میکند
عبارتند
از:
- در یک فایل پیکربندی؛
- تایپشده
در خط فرمان
(رجوع کنید
به
command-prompt); - دادهشده
به
bind-key; - ارسالشده
به عنوان
آرگومان به
if-shellیاconfirm-before.
برای
اجرای
دستورات،
هر کلاینت
یک ‘صف
دستور (command queue)’
دارد. یک صف
دستور
سراسری که
به هیچ
کلاینتی
متصل نیست
در هنگام
راهاندازی
برای
فایلهای
پیکربندی
مانند
~/.tmux.conf
استفاده
میشود.
دستورات
تجزیهشده
که به صف
افزوده
میشوند به
ترتیب اجرا
میگردند.
برخی
دستورات،
مانند if-shell
و confirm-before,
آرگومان
خود را برای
ایجاد یک
دستور جدید
تجزیه
میکنند که
بلافاصله
پس از
خودشان درج
میشود. این
بدان
معناست که
آرگومانها
میتوانند
دو بار یا
بیشتر
تجزیه شوند -
یک بار
زمانی که
دستور والد
(مانند if-shell)
تجزیه
میشود و
بار دیگر
زمانی که
دستور خود
را تجزیه و
اجرا
میکند.
دستوراتی
مانند if-shell,
run-shell و
display-panes
اجرای
دستورات
بعدی در صف
را متوقف
میکنند تا
رویدادی رخ
دهد - if-shell و
run-shell تا
زمانی که یک
دستور
پوسته به
پایان برسد
و display-panes تا
زمانی که
کلیدی
فشرده شود.
برای مثال،
دستورات
زیر:
new-session; new-window if-shell "true" "split-window" kill-session
به ترتیب
new-session, new-window,
if-shell, دستور
پوسته
true(1),
split-window و
kill-session را
اجرا
خواهند
کرد.
بخش
دستورات
(COMMANDS) دستورات
tmux و
آرگومانهای
آنها را
فهرست
میکند.
نحو تجزیه (PARSING SYNTAX)
این بخش
نحو
دستورات
تجزیهشده
توسط tmux
را توصیف
میکند،
برای مثال
در یک فایل
پیکربندی
یا در خط
فرمان. توجه
داشته
باشید
زمانی که
دستورات در
پوسته وارد
میشوند،
توسط پوسته
تجزیه
میشوند -
برای مثال
به ksh(1)
یا csh(1)
مراجعه
کنید.
هر دستور
با یک خط
جدید یا یک
نقطه
ویرگول (;)
خاتمه
مییابد.
دستوراتی
که با نقطه
ویرگول از
هم جدا
شدهاند با
هم یک
‘توالی
دستور (command sequence)’
تشکیل
میدهند -
اگر دستوری
در این
توالی با
خطا مواجه
شود، هیچ
دستور بعدی
اجرا
نمیشود.
توصیه میشود نقطه ویرگولی که به عنوان جداکننده دستور استفاده میشود به عنوان یک نشانه (token) مجزا نوشته شود، برای مثال از sh(1):
$ tmux neww \; splitw
یا:
$ tmux neww ';' splitw
یا از خط فرمان tmux:
neww ; splitw
با این حال، یک نقطه ویرگول در انتهای کلمه نیز به عنوان جداکننده دستور تفسیر میشود، برای مثال در این دستورات sh(1):
$ tmux neww\; splitw
یا:
$ tmux 'neww;' splitw
همانند این مثالها، هنگام اجرای tmux از پوسته باید دقت بیشتری برای نقلقول کردن مناسب نقطه ویرگولها به کار برد:
- نقطه
ویرگولهایی
که باید به
عنوان
جداکننده
دستور
تفسیر شوند
باید مطابق
با قواعد
پوسته
اسکیپ (escape)
شوند. برای
sh(1) این
معمولاً به
معنای
نقلقول
شدن (مانند
‘
neww ';' splitw’) یا اسکیپ شدن (مانند ‘neww \; splitw’) است. - نقطه
ویرگولهای
مجزا یا در
انتهای
کلمه که
باید به
عنوان
آرگومان
تفسیر شوند
باید دو بار
اسکیپ شوند:
یک بار
مطابق با
قواعد
پوسته و بار
دوم برای
tmux; برای مثال:$ tmux neww 'foo\;' bar $ tmux neww foo\\\; bar
- نقطه
ویرگولهایی
که
توکنهای
مجزا نبوده
یا در
انتهای
توکن دیگری
قرار
ندارند،
فقط باید یک
بار بر اساس
قواعد
پوسته
اسکیپ
شوند؛ برای
مثال:
$ tmux neww 'foo-;-bar' $ tmux neww foo-\;-bar
توضیحات (کامنتها) با نویسه # بدون نقلقول مشخص میشوند - هر متن باقیمانده پس از یک توضیح تا انتهای خط نادیده گرفته میشود.
اگر آخرین نویسه یک خط \ باشد، خط با خط بعدی ترکیب میشود (\ و خط جدید کاملاً حذف میشوند). این قابلیت ادامه خط (line continuation) نامیده میشود و در داخل و خارج از رشتههای نقلقولشده و در توضیحات اعمال میشود، اما در داخل آکولادها اعمال نمیگردد.
آرگومانهای دستور ممکن است به عنوان رشتههای احاطهشده با نقلقول تکی (') یا نقلقول دوتایی (")، یا به عنوان فهرستهای دستور احاطهشده با آکولاد ({}) مشخص شوند. این کار زمانی لازم است که آرگومان حاوی هر نویسه خاصی باشد. رشتههای دارای نقلقول تکی و دوتایی نمیتوانند بیش از یک خط باشند مگر با ادامه خط. آکولادها میتوانند چندین خط را در بر بگیرند.
در خارج از نقلقولها و داخل نقلقولهای دوتایی، این جایگزینیها انجام میشوند:
- متغیرهای محیطی که قبل از آنها $ آمده است با مقدارشان از محیط سراسری جایگزین میشوند (به بخش محیط سراسری و نشست (GLOBAL AND SESSION ENVIRONMENT) مراجعه کنید).
- یک ~ یا ~user ابتدایی به دایرکتوری خانگی کاربر فعلی یا مشخصشده بسط مییابد.
- \uXXXX یا \uXXXXXXXX با نقطه کد یونیکد متناظر با عدد هگزادسیمال چهار یا هشت رقمی دادهشده جایگزین میشود.
- هنگامی که نویسهای با \ پیشوند (اسکیپ) شود، نویسههای زیر جایگزین میشوند: \e با نویسه escape؛ \r با برگشت به ابتدای سطر (carriage return)؛ \n با خط جدید؛ و \t با tab.
- \ooo با نویسهای با مقدار هشتهشتی (octal) معادل ooo جایگزین میشود. سه رقم هشتهشتی الزامی است، برای مثال \001. بزرگترین نویسه معتبر \377 است.
- هر نویسه دیگری که قبل از آن \ آمده باشد با خود آن نویسه جایگزین میشود (یعنی \ حذف میشود) و معنای خاصی نخواهد داشت - بنابراین برای مثال \; یک توالی دستور را مشخص نمیکند و \$ یک متغیر محیطی را بسط نمیدهد.
آکولادها
مانند یک
فایل
پیکربندی
تجزیه
میشوند
(بنابراین
شرایطی
مانند
‘%if’
پردازش
میشوند) و
سپس به یک
رشته تبدیل
میگردند.
آنها برای
جلوگیری از
نیاز به
اسکیپ کردن
اضافی
هنگام
ارسال
گروهی از
دستورات
tmux به
عنوان یک
آرگومان
(برای مثال
به if-shell)
طراحی
شدهاند.
این دو مثال
دستوری
یکسان
تولید
میکنند -
توجه داشته
باشید که
هنگام
استفاده از {}
نیازی به
اسکیپ کردن
نیست:
if-shell true {
display -p 'brace-dollar-foo: }$foo'
}
if-shell true "display -p 'brace-dollar-foo: }\$foo'"
آکولادها میتوانند درون آکولادها قرار گیرند، برای مثال:
bind x if-shell "true" {
if-shell "true" {
display "true!"
}
}
متغیرهای
محیطی را
میتوان با
استفاده از
نحو ‘name=value’,
برای مثال
‘HOME=/home/user’.
متغیرهای
تنظیمشده
در حین
تجزیه به
محیط
سراسری
اضافه
میشوند. یک
متغیر
پنهان را
میتوان با
‘%hidden’,
برای مثال:
%hidden MYVAR=42
متغیرهای پنهان به محیط فرآیندهای ایجادشده توسط tmux منتقل نمیشوند. به بخش محیط سراسری و نشست (GLOBAL AND SESSION ENVIRONMENT) مراجعه کنید.
دستورات
را میتوان
با احاطه
کردن آنها
با ‘%if’,
‘%elif’,
‘%else’ و
‘%endif’ به
صورت شرطی
تجزیه کرد.
آرگومان
ورودی به
‘%if’ و
‘%elif’ به
عنوان یک
قالب بسط
داده
میشود
(رجوع کنید
به
قالبها
(FORMATS)) و اگر
نادرست (صفر
یا خالی)
ارزیابی
شود، متن
بعدی تا
‘%elif’,
‘%else’ یا
‘%endif’
پایانی
نادیده
گرفته
میشود.
برای مثال:
%if "#{==:#{host},myhost}"
set -g status-style bg=red
%elif "#{==:#{host},myotherhost}"
set -g status-style bg=green
%else
set -g status-style bg=blue
%endif
اگر روی
‘myhost’
اجرا شود،
خط وضعیت را
به رنگ
قرمز، اگر
روی ‘myotherhost’
اجرا شود به
رنگ سبز، یا
اگر روی
میزبان
دیگری اجرا
شود به رنگ
آبی تغییر
خواهد داد.
شرطها
میتوانند
در یک خط
مشخص شوند،
برای
نمونه:
%if #{==:#{host},myhost} set -g status-style bg=red %endif
دستورات (COMMANDS)
این بخش
دستورات
پشتیبانیشده
توسط tmux
را شرح
میدهد.
اکثر
دستورات
آرگومان
اختیاری
-t (و گاهی
-s) را به
همراه یکی
از target-client,
target-session, target-window
یا target-pane
میپذیرند.
این موارد
کلاینت،
نشست،
پنجره یا
قابی را که
دستور باید
روی آن اثر
بگذارد،
مشخص
میکنند.
target-client
باید نام
کلاینت
باشد،
معمولاً
فایل
pty(4) که
کلاینت به
آن متصل
است، برای
نمونه هر یک
از /dev/ttyp1 یا
ttyp1 برای
کلاینت
متصل به
/dev/ttyp1. اگر
هیچ
کلاینتی
مشخص نشده
باشد، tmux
تلاش
میکند
کلاینت در
حال
استفاده را
تشخیص دهد؛
اگر این کار
ناموفق
باشد، یک
خطا گزارش
میشود.
کلاینتها
را میتوان
با دستور
list-clients
فهرست کرد.
target-session به ترتیب به روشهای زیر بررسی میشود:
- یک شناسه نشست (session ID) با پیشوند $.
- نام دقیق یک
نشست
(همانطور
که توسط
دستور
list-sessionsفهرست شده است). - ابتدای نام
یک نشست،
برای نمونه
‘
mysess’ با نشستی به نام ‘mysession’ مطابقت خواهد داشت. - یک الگوی glob(7) که با نام نشست مطابقت داده میشود.
اگر نام
نشست دارای
پیشوند
‘=’
باشد، فقط
تطابق دقیق
پذیرفته
میشود
(بنابراین
‘=mysess’
تنها
دقیقاً با
‘mysess’
مطابقت
مییابد،
نه با
‘mysession’).
اگر یک نشست منفرد پیدا شود، به عنوان نشست هدف استفاده میشود؛ تطابقهای چندگانه منجر به خطا میشوند. اگر نشستی ذکر نشود، در صورت در دسترس بودن از نشست جاری استفاده میشود؛ اگر هیچ نشست جاری در دسترس نباشد، آخرین نشستی که اخیراً استفاده شده انتخاب میشود.
target-window (یا src-window یا dst-window) پنجرهای را در قالب session:window مشخص میکند. session از همان قوانین target-session پیروی میکند و window به ترتیب زیر جستجو میشود:
- یک نشانه ویژه، که در زیر فهرست شده است.
- یک نمایه
پنجره،
برای نمونه
‘
mysession:1’ پنجره ۱ در نشست ‘mysession’ است. - یک شناسه پنجره، مانند @1.
- نام دقیق
پنجره،
مانند
‘
mysession:mywindow’. - ابتدای نام
پنجره،
مانند
‘
mysession:mywin’. - به صورت یک الگوی glob(7) که با نام پنجره مطابقت داده میشود.
مانند
نشستها،
یک پیشوند
‘=’ تنها
یک تطابق
دقیق انجام
خواهد داد.
یک نام
پنجره خالی
در صورت
لزوم نمایه
بدون
استفاده
بعدی را
مشخص
میکند
(برای نمونه
دستورات
new-window و
link-window) در
غیر این
صورت پنجره
جاری در session
انتخاب
میشود.
نشانههای ویژه زیر برای اشاره به پنجرههای خاص در دسترس هستند. هر یک دارای یک فرم جایگزین تکنویسهای هستند.
| نشانه | مفهوم | |
{start} |
^ | پنجره با کمترین شماره |
{end} |
$ | پنجره با بیشترین شماره |
{last} |
! | آخرین پنجره (پنجره جاری قبلی) |
{next} |
+ | پنجره بعدی بر اساس شماره |
{previous} |
- | پنجره قبلی بر اساس شماره |
{current} |
@ | پنجره جاری |
target-pane (یا
src-pane یا
dst-pane)
میتواند
یک شناسه
قاب باشد یا
قالبی
مشابه target-window
داشته
باشد، اما
با افزودن
اختیاری یک
نقطه و به
دنبال آن یک
نمایه قاب
یا شناسه
قاب، برای
نمونه:
‘mysession:mywindow.1’.
اگر نمایه
قاب ذکر
نشود، از
قاب فعال
جاری در
پنجره
مشخصشده
استفاده
میشود.
نشانههای
ویژه زیر
برای نمایه
قاب در
دسترس
هستند:
| نشانه | مفهوم | |
{last} |
! | آخرین قاب (قاب فعال قبلی) |
{next} |
+ | قاب بعدی بر اساس شماره |
{previous} |
- | قاب قبلی بر اساس شماره |
{top} |
قاب بالایی | |
{bottom} |
قاب پایینی | |
{left} |
چپترین قاب | |
{right} |
راستترین قاب | |
{top-left} |
قاب بالا-چپ | |
{top-right} |
قاب بالا-راست | |
{bottom-left} |
قاب پایین-چپ | |
{bottom-right} |
قاب پایین-راست | |
{up-of} |
قاب بالای قاب فعال | |
{down-of} |
قاب پایین قاب فعال | |
{left-of} |
قاب سمت چپ قاب فعال | |
{right-of} |
قاب سمت راست قاب فعال | |
{active} |
@ | قاب فعال |
نشانههای
‘+’ و
‘-’
میتوانند
با یک مقدار
آفست همراه
شوند، برای
نمونه:
select-window -t:+2
افزون بر
این، target-session,
target-window یا
target-pane
میتوانند
به طور کامل
شامل نشانه
‘{mouse}’ (فرم
جایگزین
‘=’)
باشند تا
نشست،
پنجره یا
قابی را که
جدیدترین
رویداد
ماوس در آن
رخ داده است
مشخص کنند
(بخش
پشتیبانی
از ماوس (MOUSE SUPPORT)
را ببینید)
یا ‘{marked}’
(فرم
جایگزین
‘~’) برای
مشخص کردن
قاب
نشانهگذاریشده
(دستور
select-pane -m
را ببینید).
نشستها،
پنجرهها و
قابها هر
کدام با یک
شناسه یکتا
شمارهگذاری
میشوند؛
شناسههای
نشست با یک
‘$’,
پنجرهها
با یک ‘@’,
و قابها با
یک ‘%’
پیشوندگذاری
میشوند.
این
شناسهها
یکتا هستند
و در طول عمر
نشست،
پنجره یا
قاب در سرور
tmux بدون
تغییر باقی
میمانند.
شناسه قاب
در متغیر
محیطی TMUX_PANE
به فرایند
فرزندِ قاب
ارسال
میشود.
شناسهها
را میتوان
با استفاده
از
قالبهای
‘session_id’,
‘window_id’ یا
‘pane_id’ (بخش
قالبها
(FORMATS) را
ببینید) و
دستورات
display-message,
list-sessions, list-windows
یا list-panes
نمایش داد.
target-session, target-window
یا target-pane هر
یک
‘نوع’
هدفی را که
دستور باید
روی آن کار
کند مشخص
میکنند.
اگر یک هدف
به صراحت با
استفاده از
‘:’ و
‘.’ مشخص
نشده باشد،
tmux چیزی
را که به نظر
میرسد
بهترین
گزینه
موجود است
انتخاب
خواهد کرد.
برای
نمونه، اگر
یک target-pane به
صورت ‘1’
با یک پنجره
جاری که فقط
یک قاب دارد
استفاده
شود، tmux
میداند که
‘1’
نمیتواند
به معنای یک
قاب باشد،
بنابراین
به دنبال
قاب فعال در
پنجره ۱، یا
قاب فعال در
پنجره جاری
در نشست ۱
میگردد.
تنها در
صورتی که
هیچیک از
این موارد
وجود
نداشته
باشند، خطا
گزارش
میدهد. اگر
مهم است که
یک قاب،
پنجره یا
نشست خاص
همیشه
استفاده
شود، مانند
زمانی که از
یک اسکریپت
فراخوانی
میشود،
هدف باید
کاملاً
مشخص شود
(برای نمونه
یک target-pane به
صورت ‘-t:.1)
،’ یا باید
از
شناسههای
قاب، پنجره
یا نشست
استفاده
شود.
آرگومانهای shell-command دستورات sh(1) هستند. این میتواند یک آرگومان منفرد ارسالشده به پوسته باشد، برای نمونه:
new-window 'vi ~/.tmux.conf'
دستور زیر را اجرا خواهد کرد:
/bin/sh -c 'vi ~/.tmux.conf'
علاوه بر
این،
دستورات
new-window, new-session,
split-window, respawn-window
و respawn-pane
اجازه
میدهند
shell-command به
عنوان
چندین
آرگومان
داده شده و
مستقیماً
اجرا شود
(بدون ‘sh
-c’). این
میتواند
از مشکلات
نقلقول
پوسته
جلوگیری
کند. برای
نمونه:
$ tmux new-window vi ~/.tmux.conf
vi(1) را مستقیماً بدون فراخوانی پوسته اجرا خواهد کرد.
command [argument ...]
به یک دستور
tmux اشاره
دارد، که یا
با دستور و
آرگومانها
به صورت
جداگانه
ارسال
میشود،
برای
نمونه:
bind-key F1 set-option status off
یا به عنوان یک آرگومان رشتهای منفرد در .tmux.conf ارسال میشود، برای نمونه:
bind-key F1 { set-option status off }
نمونه
دستورات
tmux
عبارتند
از:
refresh-client -t/dev/ttyp2 rename-session -tfirst newname set-option -wt:0 monitor-activity on new-window ; split-window -d bind-key R source-file ~/.tmux.conf \; \ display-message "source-file done"
یا از طریق sh(1):
$ tmux kill-window -t :1 $ tmux new-window \; split-window -d $ tmux new-session -d 'vi ~/.tmux.conf' \; split-window -d \; attach
کلاینتها و نشستها (CLIENTS AND SESSIONS)
سرور tmux
کلاینتها،
نشستها،
پنجرهها و
قابها را
مدیریت
میکند.
کلاینتها
برای تعامل
با نشستها
به آنها
متصل
میشوند،
خواه زمانی
که با دستور
new-session ایجاد
میشوند،
یا بعداً با
دستور
attach-session. هر
نشست یک یا
چند پنجره
پیوندخورده
به خود دارد.
پنجرهها
میتوانند
به چندین
نشست پیوند
داده شوند و
از یک یا چند
قاب تشکیل
شدهاند،
که هر یک
شامل یک
شبهترمینال
است.
دستورات
مربوط به
ایجاد،
پیوند دادن
و سایر
عملیات روی
پنجرهها
در بخش
پنجرهها
و قابها (WINDOWS AND
PANES) پوشش داده
شدهاند.
دستورات زیر برای مدیریت کلاینتها و نشستها در دسترس هستند:
attach-session[-dErx] [-cworking-directory] [-fflags] [-ttarget-session]-
(alias:اگر از خارج از
attach)tmuxاجرا شود، به target-session در ترمینال فعلی متصل میشود. target-session باید از قبل وجود داشته باشد - برای ایجاد یک نشست جدید، دستورnew-session(همراه با-Aبرای ایجاد یا اتصال) را ببینید. اگر از داخل استفاده شود، نشست متصل فعلی را به target-session تغییر میدهد. اگر-dمشخص شود، هر کلاینت متصل دیگر به این نشست جدا میشود. اگر-xداده شود، سیگنالSIGHUPرا به فرایند والد کلاینت ارسال کرده و همچنین کلاینت را جدا میکند که معمولاً باعث خروج آن میشود.-fفهرستی از پرچمهای کلاینت جداشده با کاما را تنظیم میکند. پرچمها عبارتند از:- active-pane
- کلاینت دارای یک پنل فعال مستقل است
- ignore-size
- کلاینت بر اندازه سایر کلاینتها تاثیری نمیگذارد
- no-detach-on-destroy
- در صورت وجود نشستهای دیگر، هنگام نابود شدن نشستی که کلاینت به آن متصل است، کلاینت را جدا نکن
- no-output
- کلاینت در حالت کنترل خروجی پنل را دریافت نمیکند
- pause-after=seconds
- به محض اینکه پنل در حالت کنترل به میزان seconds ثانیه عقب بیفتد، خروجی متوقف میشود
- read-only
- کلاینت فقطخواندنی است
- wait-exit
- قبل از خروج در حالت کنترل، منتظر ورودی یک خط خالی بمان
قرار دادن یک ‘
!’ در ابتدا، در صورتی که کلاینت از قبل متصل باشد، پرچم را خاموش میکند.-rنام مستعاری برای-fread-only,ignore-size است. هنگامی که یک کلاینت فقطخواندنی است، فقط کلیدهای مقید شده به دستوراتdetach-clientیاswitch-clientاثرگذار خواهند بود. کلاینت دارای پرچم active-pane اجازه میدهد پنل فعال مستقل از پنل فعال پنجره که توسط کلاینتهای فاقد این پرچم استفاده میشود انتخاب شود. این موضوع فقط بر موقعیت مکاننما و دستورات صادر شده از کلاینت تاثیر میگذارد؛ سایر ویژگیها مانند قلابها و سبکها به استفاده از پنل فعال پنجره ادامه میدهند.اگر هیچ سروری اجرا نشده باشد،
attach-sessionتلاش میکند آن را شروع کند؛ این کار ناموفق خواهد بود مگر اینکه نشستها در فایل پیکربندی ایجاد شده باشند.قوانین target-session برای
attach-sessionاندکی تنظیم شدهاند: اگرtmuxنیاز به انتخاب آخرین نشست استفادهشده داشته باشد، آخرین نشست استفادهشدهی متصلنشده را ترجیح میدهد.-cدایرکتوری کاری نشست (مورد استفاده برای پنجرههای جدید) را روی working-directory تنظیم میکند.اگر
-Eاستفاده شود، گزینهupdate-environmentاعمال نخواهد شد. detach-client[-aP] [-Eshell-command] [-starget-session] [-ttarget-client]-
(alias:اگر به یک کلید مقید شده باشد کلاینت فعلی را جدا میکند، یا کلاینت مشخصشده با
detach)-t-،یا تمام کلاینتهای متصل فعلی به نشست مشخصشده با-sرا جدا میکند. گزینه-aهمه کلاینتها به جز کلاینت دادهشده با-tرا میکشد. اگر-Pداده شود، سیگنالSIGHUPرا به فرایند والد کلاینت ارسال میکند که معمولاً باعث خروج آن میشود. با-E-،دستور shell-command را برای جایگزینی کلاینت اجرا میکند. has-session[-ttarget-session]-
(alias:اگر نشست مشخصشده وجود نداشته باشد، خطا گزارش کرده و با کد 1 خارج میشود. اگر وجود داشته باشد، با کد 0 خارج میشود.
has) kill-server- سرور
tmuxو کلاینتها را متوقف کرده و تمام نشستها را نابود میکند. kill-session[-aCg] [-ttarget-session]- نشست
دادهشده
را نابود
میکند،
تمام
پنجرههای
متصل به آن
را (که به
نشستهای
دیگر متصل
نیستند)
میبندد و
تمام
کلاینتهای
متصل به آن
را جدا
میکند. اگر
-aداده شود، تمام نشستها به جز نشست مشخصشده کشته میشوند. اگر-gداده شود و نشست در یک گروه نشستی باشد، تمام نشستهای درون گروه کشته میشوند. پرچم-Cهشدارهای (زنگ، فعالیت یا سکوت) درون تمام پنجرههای متصل به نشست را پاک میکند. list-clients[-r] [-Fformat] [-ffilter] [-Osort-order] [-ttarget-session]-
(alias:تمام کلاینتهای متصل به سرور را فهرست میکند.
lsc)-Fفرمت هر خط و-fیک فیلتر را مشخص میکند. فقط کلاینتهایی که فیلتر برای آنها صادق است نمایش داده میشوند. بخش FORMATS را ببینید.-Oترتیب مرتبسازی را مشخص میکند: یکی از ‘name ،’ ‘size ،’ ‘creation’ (زمان)، یا ‘activity’ (زمان).-rترتیب مرتبسازی را معکوس میکند. اگر target-session مشخص شده باشد، فقط کلاینتهای متصل به آن نشست را فهرست میکند. list-commands[-Fformat] [command]-
(alias:سینتکس command یا - در صورت حذف - تمام دستورات پشتیبانیشده توسط
lscm)tmuxرا فهرست میکند. list-sessions[-r] [-Fformat] [-ffilter] [-Osort-order]-
(alias:تمام نشستهای مدیریتشده توسط سرور را فهرست میکند.
ls)-Fفرمت هر خط و-fیک فیلتر را مشخص میکند. فقط نشستهایی که فیلتر برای آنها صادق است نمایش داده میشوند. بخش FORMATS را ببینید.-Oترتیب مرتبسازی را مشخص میکند: یکی از ‘index ،’ ‘name ،’ ‘creation’ (زمان)، یا ‘activity’ (زمان).-rترتیب مرتبسازی را معکوس میکند. lock-client[-ttarget-client]-
(alias:target-client را قفل میکند، دستور
lockc)lock-serverرا ببینید. lock-session[-ttarget-session]-
(alias:تمام کلاینتهای متصل به target-session را قفل میکند.
locks) new-session[-AdDEPX] [-cstart-directory] [-eenvironment] [-fflags] [-Fformat] [-nwindow-name] [-ssession-name] [-tgroup-name] [-xwidth] [-yheight] [shell-command [argument ...]]-
(alias:یک نشست جدید با نام session-name ایجاد میکند.
new)نشست جدید به ترمینال فعلی متصل میشود مگر اینکه
-dداده شود. window-name و shell-command نام پنجره اولیه و دستور پوسته برای اجرا در آن هستند. با-d-،اندازه اولیه از گزینه سراسریdefault-sizeگرفته میشود؛-xو-yمیتوانند برای مشخص کردن اندازهای متفاوت استفاده شوند. ‘-’ از اندازه کلاینت فعلی (در صورت وجود) استفاده میکند. اگر-xیا-yداده شود، گزینهdefault-sizeبرای نشست تنظیم میشود.-fفهرستی از پرچمهای کلاینت جداشده با کاما را تنظیم میکند (دستورattach-sessionرا ببینید).اگر از یک ترمینال اجرا شود، کاراکترهای ویژه termios(4) ذخیره شده و برای پنجرههای جدید در نشست جدید استفاده میشوند.
پرچم
-Aباعث میشودnew-sessionدر صورتی که session-name از قبل وجود داشته باشد، مانندattach-sessionرفتار کند؛ اگر-Aداده شود،-Dمانند-dبرایattach-sessionعمل میکند، و-Xمانند-xبرایattach-sessionعمل میکند.اگر
-tداده شود، یکsession group(گروه نشست) را مشخص میکند. نشستهای موجود در یک گروه، مجموعه پنجرههای یکسانی را به اشتراک میگذارند - پنجرههای جدید به تمام نشستهای درون گروه پیوند میخورند و هر پنجرهای که بسته شود از تمام نشستها حذف میشود. پنجره فعلی و قبلی و هر گزینه نشستی مستقل باقی میمانند و هر نشستی در گروه میتواند بدون تاثیر بر سایرین نابود شود. آرگومان group-name میتواند موارد زیر باشد:- نام یک گروه موجود، که در این حالت نشست جدید به آن گروه اضافه میشود؛
- نام یک نشست موجود - نشست جدید به همان گروه آن نشست اضافه میشود و در صورت لزوم یک گروه جدید ایجاد میکند؛
- نامی برای یک گروه جدید که فقط شامل نشست جدید باشد.
اگر
-tاستفاده شود،-nو shell-command نامعتبر خواهند بود.گزینه
-Pاطلاعات مربوط به نشست جدید را پس از ایجاد آن چاپ میکند. بهطور پیشفرض از فرمت ‘#{session_name}:’ استفاده میکند اما میتوان فرمت متفاوتی را با-Fمشخص کرد.اگر
-Eاستفاده شود، گزینهupdate-environmentاعمال نخواهد شد.-eبه شکل ‘VARIABLE=value’ است و یک متغیر محیطی برای نشست تازهایجادشده تنظیم میکند؛ این گزینه میتواند چندین بار مشخص شود. refresh-client[-cDlLRSU] [-Apane:state] [-Bname:what:format] [-Csize] [-fflags] [-rpane:report] [-ttarget-client] [adjustment]-
(alias:تازه کردن کلاینت فعلی در صورت مقید بودن به یک کلید، یا یک کلاینت تکی اگر با
refresh)-tمشخص شده باشد. اگر-Sمشخص شود، فقط خط وضعیت کلاینت بهروزرسانی میشود.فلگهای
-U,-D,-L,-Rو-cامکان تغییر بخش قابل مشاهده پنجرهای را فراهم میکنند که بزرگتر از کلاینت است.-Uبخش قابل مشاهده را به اندازه adjustment سطر به بالا و-Dبه پایین منتقل میکند،-Lبه اندازه adjustment ستون به چپ و-Rبه راست حرکت میدهد.-cبه حالت دنبال کردن خودکار مکاننما بازمیگردد. اگر adjustment حذف شود، مقدار 1 استفاده میشود. توجه داشته باشید که موقعیت قابل مشاهده از ویژگیهای کلاینت است نه پنجره؛ تغییر پنجره فعلی در نشست متصلشده آن را بازنشانی میکند.-Cعرض و ارتفاع یک کلاینت حالت کنترلی یا پنجرهای برای یک کلاینت حالت کنترلی را تنظیم میکند؛ size باید یکی از ‘widthxheight’ یا ‘window ID:widthxheight’ باشد، برای نمونه ‘80x24’ یا ‘@0:80x24’.-Aبه یک کلاینت حالت کنترلی امکان میدهد اقداماتی را روی یک قاب اجرا کند. آرگومان یک شناسه قاب است (با پیشوند ‘%’), یک دونقطه، و سپس یکی از ‘on’, ‘off’, ‘continue’ یا ‘pause’. اگر ‘off’ باشد،tmuxخروجی قاب را به کلاینت ارسال نمیکند و اگر همه کلاینتها قاب را خاموش کرده باشند، خواندن از قاب متوقف میشود. اگر ‘continue’ باشد،tmuxدر صورت متوقف بودن ارسال خروجی به قاب (بهصورت دستی یا با فلگ pause-after), ارسال خروجی را از سر میگیرد. اگر ‘pause’ باشد،tmuxقاب را متوقف میکند.-Aمیتواند چندین بار برای قابهای مختلف مشخص شود.-Bیک اشتراک را روی یک قالب برای یک کلاینت حالت کنترلی تنظیم میکند. آرگومان با دونقطه به سه بخش تقسیم میشود: name نامی برای اشتراک است؛ what نوع موردی است که در آن مشترک میشوید؛ format قالب مورد نظر است. پس از افزودن اشتراک، تغییرات قالب با اعلان%subscription-changedگزارش میشوند (حداکثر یک بار در ثانیه). اگر فقط نام داده شود، اشتراک حذف میشود. what میتواند برای بررسی قالب فقط برای نشست متصل خالی باشد، یا یکی از موارد زیر باشد: یک شناسه قاب مانند ‘%0’; ‘%*’ برای تمام قابهای موجود در نشست متصل؛ یک شناسه پنجره مانند ‘@0’; یا ‘@*’ برای تمام پنجرههای موجود در نشست متصل.-fفهرستی از فلگهای کلاینت که با کاما جدا شدهاند را تنظیم میکند؛ نگاه کنید بهattach-session.-rبه یک کلاینت حالت کنترلی امکان میدهد اطلاعاتی درباره یک قاب از طریق گزارش (مانند پاسخ به OSC 10) ارائه دهد. آرگومان یک شناسه قاب است (با پیشوند ‘%’), یک دونقطه، و سپس توالی گریز گزارش.-lکلیپبورد را از کلاینت با استفاده از توالی گریز xterm(1) درخواست کرده و آن را در یک بافر چسباندن جدید ذخیره میکند.-L,-R,-Uو-Dبخش قابل مشاهده پنجره را به اندازه adjustment به چپ، راست، بالا یا پایین منتقل میکنند، اگر پنجره بزرگتر از کلاینت باشد.-cموقعیت را طوری بازنشانی میکند که مکاننما را دنبال کند. نگاه کنید به گزینهwindow-size. rename-session[-ttarget-session] new-name-
(alias:تغییر نام نشست به new-name.
rename) server-access[-adlrw] [user]- تغییر
دسترسی یا
مجوزهای
خواندن/نوشتن
user. کاربر
اجراکننده
سرور
tmux(مالک آن) و کاربر ریشه (root) قابل تغییر نیستند و همیشه دسترسی دارند.-aو-dبرای اعطا یا لغو دسترسی کاربر مشخصشده استفاده میشوند. اگر کاربر از قبل متصل باشد، فلگ-dباعث جدا شدن کلاینتهای او میشود.-rو-wمجوزهای user را تغییر میدهند:-rکلاینتهای آنها را فقطخواندنی و-wقابل نوشتن میکند.-lمجوزهای دسترسی فعلی را فهرست میکند.بهطور پیشفرض، فهرست دسترسی خالی است و
tmuxسوکتها را با مجوزهای سیستمفایل ایجاد میکند که مانع دسترسی هر کاربری به جز مالک (و ریشه) میشود. این مجوزها باید بهصورت دستی تغییر داده شوند. باید بسیار دقت شود که حتی دسترسی فقطخواندنی به کاربران غیرقابل اعتماد داده نشود. show-messages[-JT] [-ttarget-client]-
(alias:نمایش پیامها یا اطلاعات سرور. پیامها حداکثر تا سقف تعیینشده توسط گزینه سرور message-limit ذخیره میشوند.
showmsgs)-Jو-Tاطلاعات اشکالزدایی درباره کارها و ترمینالها را نمایش میدهند. source-file[-Fnqv] [-ttarget-pane] path ...-
(alias:اجرای دستورات از یک یا چند فایل مشخصشده توسط path (که میتواند الگوهای glob(7) باشد). اگر
source)-Fوجود داشته باشد، آنگاه path بهعنوان یک قالب بسط داده میشود. اگر-qداده شود، در صورت عدم وجود path هیچ خطایی بازگردانده نخواهد شد. با-n, فایل تجزیه میشود اما هیچ دستوری اجرا نمیشود.-vدر صورت امکان، دستورات تجزیهشده و شماره خطوط را نمایش میدهد. start-server-
(alias:راهاندازی سرور
start)tmuxدر صورت اجرا نبودن، بدون ایجاد هیچ نشستی.توجه داشته باشید از آنجا که سرور
tmuxبهطور پیشفرض در صورت نبود هیچ نشستی خارج میشود، این کار تنها زمانی مفید است که نشستی در ~/.tmux.conf ایجاد شود،exit-emptyخاموش باشد، یا دستور دیگری بهعنوان بخشی از همان توالی دستورات اجرا شود. برای نمونه:$ tmux start \; show -g
suspend-client[-ttarget-client]-
(alias:تعلیق یک کلاینت با ارسال
suspendc)SIGTSTP(توقف tty). switch-client[-ElnprZ] [-ctarget-client] [-Osort-order] [-ttarget-session] [-Tkey-table]-
(alias:تغییر نشست فعلی کلاینت target-client به target-session. بهعنوان یک حالت خاص،
switchc)-tمیتواند به یک قاب (مقصدی که شامل ‘:’, ‘.’ یا ‘%’) است اشاره کند تا نشست، پنجره و قاب را تغییر دهد. در این حالت،-Zدر صورت بزرگنمایی بودن پنجره، آن را در حالت بزرگنمایی نگه میدارد. اگر-l,-nیا-pاستفاده شود، کلاینت به ترتیب به آخرین، بعدی یا قبلی نشست منتقل میشود.-Oمیتواند همراه با-nو-pبرای مشخص کردن فیلد مرتبسازی استفاده شود: یکی از ‘name’, ‘size’, ‘creation’ (زمان ساخت)، یا ‘activity’ (زمان فعالیت).-rفلگهایread-onlyوignore-sizeکلاینت را تغییر وضعیت میدهد (نگاه کنید به دستورattach-session).اگر
-Eاستفاده شود، گزینهupdate-environmentاعمال نخواهد شد.-Tجدول کلیدهای کلاینت را تنظیم میکند؛ کلید بعدی با استفاده از key-table جستجو خواهد شد. پس از آن کلید، کلاینت به جدول کلیدهای پیشفرض خود بازگردانده میشود (معمولاً root). این قابلیت میتواند برای پیکربندی چندین کلید پیشوند یا مقید کردن دستورات به توالیهایی از کلیدها استفاده شود. برای نمونه، جهت اجرای دستورlist-keysبا فشردن ‘abc’:bind-key -Ttable2 c list-keys bind-key -Ttable1 b switch-client -Ttable2 bind-key -Troot a switch-client -Ttable1
پنجرهها و قابها (WINDOWS AND PANES)
هر پنجره
نمایش
دادهشده
توسط tmux
میتواند
به یک یا چند
قاب (pane)
تقسیم شود؛
هر قاب بخش
خاصی از
صفحه نمایش
را اشغال
کرده و یک
ترمینال
مجزا است. یک
پنجره
میتواند
با استفاده
از دستور
split-window به
چند قاب
تقسیم شود.
پنجرهها
میتوانند
به صورت
افقی (با فلگ
-h) یا
عمودی
تقسیم شوند.
قابها را
میتوان با
دستور resize-pane
(بهطور
پیشفرض
مقید به
‘C-Up’,
‘C-Down’
‘C-Left’ و
‘C-Right’)
تغییر
اندازه
داد، قاب
فعلی را
میتوان با
دستور select-pane
تغییر داد و
از دستورات
rotate-window و
swap-pane
میتوان
برای
جابهجایی
قابها
بدون تغییر
موقعیت
آنها
استفاده
کرد. قابها
بر اساس
ترتیب
ایجاد شدن،
از صفر
شمارهگذاری
میشوند.
بهطور
پیشفرض،
یک قاب tmux
دسترسی
مستقیم به
پایانه
موجود در
قاب را
فراهم
میکند. یک
قاب همچنین
میتواند
در یکی از
چندین حالت
قرار گیرد:
- حالت
رونوشت (Copy mode)،
که امکان
کپی کردن
بخشی از یک
پنجره یا
تاریخچه آن
به یک
بافر
جایگذاری
برای درج در
پنجرهای
دیگر در
آینده را
فراهم
میسازد.
ورود به این
حالت با
دستور
copy-modeانجام میشود که بهطور پیشفرض به ‘[’ اختصاص یافته است. متن کپیشده میتواند با دستورpaste-bufferجایگذاری شود که به ‘]’ اختصاص یافته است. - حالت
مشاهده (View mode)،
که مانند
حالت
رونوشت است
اما زمانی
فعال
میشود که
دستوری
دارای
خروجی،
مانند
list-keys, از طریق یک کلید میانبر اجرا گردد. - حالت
انتخاب (Choose mode)،
که امکان
انتخاب یک
مورد از یک
فهرست را
فراهم
میکند. این
مورد
میتواند
یک کلاینت،
یک نشست،
پنجره،
قاب، یا یک
بافر باشد.
ورود به این
حالت با
دستورهای
choose-buffer,choose-clientوchoose-treeانجام میشود.
در حالت رونوشت، نشانگری در گوشه بالا-راست قاب همراه با موقعیت فعلی و تعداد خطوط موجود در تاریخچه نمایش داده میشود.
دستورها
با استفاده
از پرچم -X
در دستور
send-keys به
حالت
رونوشت
ارسال
میشوند.
هنگام
فشردن یک
کلید، حالت
رونوشت
بسته به
گزینه mode-keys
بهطور
خودکار از
یکی از دو
جدول کلید
استفاده
میکند:
copy-mode برای
emacs، یا copy-mode-vi
برای vi.
جدولهای
کلید با
دستور list-keys
قابل
مشاهده
هستند.
دستورهای زیر در حالت رونوشت پشتیبانی میشوند:
append-selection- افزودن ناحیه انتخابشده به بالاترین بافر جایگذاری.
append-selection-and-cancel(vi: A)- افزودن ناحیه انتخابشده به بالاترین بافر جایگذاری و خروج از حالت رونوشت.
back-to-indentation(vi: ^) (emacs: M-m)- انتقال مکاننما به ابتدای تورفتگی خط.
begin-selection(vi: Space) (emacs: C-Space)- شروع انتخاب.
bottom-line(vi: L)- رفتن به پایینترین خط.
cancel(vi: q) (emacs: Escape)- خروج از حالت رونوشت.
clear-selection(vi: Escape) (emacs: C-g)- پاک کردن انتخاب فعلی.
copy-end-of-line[-CP] [prefix]- کپی کردن از موقعیت مکاننما تا انتهای خط. prefix برای نامگذاری بافر جایگذاری جدید استفاده میشود.
copy-end-of-line-and-cancel[-CP] [prefix]- کپی کردن از موقعیت مکاننما و خروج از حالت رونوشت.
copy-pipe-end-of-line[-CP] [command] [prefix]- کپی کردن از موقعیت مکاننما تا انتهای خط و هدایت متن به command. prefix برای نامگذاری بافر جایگذاری جدید استفاده میشود.
copy-pipe-end-of-line-and-cancel[-CP] [command] [prefix]- همانند
copy-pipe-end-of-lineاما از حالت رونوشت نیز خارج میشود. copy-line[-CP] [prefix]- کپی کردن کل خط.
copy-line-and-cancel[-CP] [prefix]- کپی کردن کل خط و خروج از حالت رونوشت.
copy-pipe-line[-CP] [command] [prefix]- کپی کردن کل خط و هدایت متن به command. prefix برای نامگذاری بافر جایگذاری جدید استفاده میشود.
copy-pipe-line-and-cancel[-CP] [command] [prefix]- همانند
copy-pipe-lineاما از حالت رونوشت نیز خارج میشود. copy-pipe[-CP] [command] [prefix]- کپی کردن ناحیه انتخابشده، پاک کردن آن و هدایت متن آن به command. prefix برای نامگذاری بافر جایگذاری جدید استفاده میشود.
copy-pipe-no-clear[-CP] [command] [prefix]- همانند
copy-pipeاما ناحیه انتخابشده را پاک نمیکند. copy-pipe-and-cancel[-CP] [command] [prefix]- همانند
copy-pipeاما از حالت رونوشت نیز خارج میشود. copy-selection[-CP] [prefix]- کپی کردن ناحیه انتخابشده فعلی.
copy-selection-no-clear[-CP] [prefix]- همانند
copy-selectionاما ناحیه انتخابشده را پاک نمیکند. copy-selection-and-cancel[-CP] [prefix] (vi: Enter) (emacs: M-w)- کپی کردن ناحیه انتخابشده فعلی و خروج از حالت رونوشت.
cursor-down(vi: j) (emacs: Down)- انتقال مکاننما به پایین.
cursor-down-and-cancel- همانند
cursor-downاما در صورت رسیدن به پایینترین نقطه، از حالت رونوشت نیز خارج میشود. cursor-left(vi: h) (emacs: Left)- انتقال مکاننما به چپ.
cursor-right(vi: l) (emacs: Right)- انتقال مکاننما به راست.
cursor-up(vi: k) (emacs: Up)- انتقال مکاننما به بالا.
cursor-centre-vertical(emacs: C-l)- انتقال مکاننما به مرکز عمودی قاب.
cursor-centre-horizontal(emacs: M-l)- انتقال مکاننما به مرکز افقی قاب.
end-of-line(vi: $) (emacs: C-e)- انتقال مکاننما به انتهای خط.
goto-lineline (vi: :) (emacs: g)- انتقال مکاننما به یک خط مشخص.
halfpage-down(vi: C-d) (emacs: M-Down)- پیمایش به پایین به اندازه نیم صفحه.
halfpage-down-and-cancel- همانند
halfpage-downاما در صورت رسیدن به پایینترین نقطه، از حالت رونوشت نیز خارج میشود. halfpage-up(vi: C-u) (emacs: M-Up)- پیمایش به بالا به اندازه نیم صفحه.
history-bottom(vi: G) (emacs: M->)- پیمایش به انتهای تاریخچه.
history-top(vi: g) (emacs: M-<)- پیمایش به ابتدای تاریخچه.
jump-again(vi: ;) (emacs: ;)- تکرار آخرین پرش.
jump-backwardto (vi: F) (emacs: F)- پرش به عقب به سمت متن مشخصشده.
jump-forwardto (vi: f) (emacs: f)- پرش به جلو به سمت متن مشخصشده.
jump-reverse(vi: ,) (emacs: ,)- تکرار آخرین پرش در جهت معکوس (جلو به عقب و عقب به جلو تبدیل میشود).
jump-to-backwardto (vi: T)- پرش به عقب اما به اندازه یک نویسه کمتر، و قرار دادن مکاننما روی نویسه پس از هدف.
jump-to-forwardto (vi: t)- پرش به جلو اما به اندازه یک نویسه کمتر، و قرار دادن مکاننما روی نویسه پیش از هدف.
jump-to-mark(vi: M-x) (emacs: M-x)- پرش به آخرین علامت نشانهگذاری.
middle-line(vi: M) (emacs: M-r)- رفتن به خط میانی.
next-matching-bracket(vi: %) (emacs: M-C-f)- رفتن به قلاب منطبق بعدی.
next-paragraph(vi: }) (emacs: M-})- رفتن به پاراگراف بعدی.
next-prompt[-o]- رفتن به خط اعلان بعدی.
next-word(vi: w)- رفتن به کلمه بعدی.
next-word-end(vi: e) (emacs: M-f)- رفتن به انتهای کلمه بعدی.
next-space(vi: W)- همانند
next-wordاما تنها از فاصله به عنوان جداکننده کلمه استفاده میکند. next-space-end(vi: E)- همانند
next-word-endاما تنها از فاصله به عنوان جداکننده کلمه استفاده میکند. other-end(vi: o)- جابهجا کردن مکاننما بین ابتدا یا انتهای ناحیه انتخابشده.
page-down(vi: C-f) (emacs: PageDown)- پیمایش به پایین به اندازه یک صفحه.
page-down-and-cancel- همانند
page-downاما در صورت رسیدن به پایینترین نقطه، از حالت رونوشت نیز خارج میشود. page-up(vi: C-b) (emacs: PageUp)- پیمایش به بالا به اندازه یک صفحه.
pipe[command]- هدایت متن انتخابشده به command و پاک کردن ناحیه انتخاب.
pipe-no-clear[command]- همانند
pipeاما ناحیه انتخاب را پاک نمیکند. pipe-and-cancel[command] [prefix]- همانند
pipeاما از حالت رونوشت نیز خارج میشود. previous-matching-bracket(emacs: M-C-b)- رفتن به قلاب منطبق قبلی.
previous-paragraph(vi: {) (emacs: M-{)- رفتن به پاراگراف قبلی.
previous-prompt[-o]- رفتن به خط اعلان قبلی.
previous-word(vi: b) (emacs: M-b)- رفتن به کلمه قبلی.
previous-space(vi: B)- همانند
previous-wordاما تنها از فاصله به عنوان جداکننده کلمه استفاده میکند. rectangle-on- فعال کردن حالت انتخاب مستطیلی.
rectangle-off- غیرفعال کردن حالت انتخاب مستطیلی.
rectangle-toggle(vi: v) (emacs: R)- تغییر وضعیت حالت انتخاب مستطیلی.
recentre-top-bottom(emacs : C-l)- جابهجایی چرخشی خط فعلی میان وسط، بالا و پایین.
refresh-from-pane(vi: r) (emacs: r)- تازهسازی محتوا از قاب.
scroll-bottom- پیمایش به بالا تا زمانی که خط جاری در پایین قرار گیرد در حالی که مکاننما روی همان خط حفظ میشود.
scroll-down(vi: C-e) (emacs: C-Down)- پیمایش به پایین.
scroll-down-and-cancel- همانند
scroll-downاما اگر مکاننما به پایینترین نقطه برسد از حالت رونوشت نیز خارج میشود. scroll-exit-on- فعال کردن خروج از حالت رونوشت هنگام پیمایش به انتهای بافر.
scroll-exit-off- غیرفعال کردن خروج از حالت رونوشت هنگام پیمایش به انتهای بافر.
scroll-exit-toggle- تغییر وضعیت خروج از حالت رونوشت هنگام پیمایش به انتهای بافر.
scroll-middle(vi: z)- پیمایش به گونهای که خط جاری در وسط قرار گیرد در حالی که مکاننما روی همان خط حفظ میشود.
scroll-to-mouse- پیمایش قاب
در حالت
رونوشت
هنگام
اتصال به
رویداد
کشیدن ماوس.
-eباعث خروج از حالت رونوشت در صورت قرار داشتن در پایینترین نقطه میشود. scroll-top- پیمایش به پایین تا زمانی که خط جاری در بالا قرار گیرد در حالی که مکاننما روی همان خط حفظ میشود.
scroll-up(vi: C-y) (emacs: C-Up)- پیمایش به بالا.
search-again(vi: n) (emacs: n)- تکرار آخرین جستجو.
search-backwardtext (vi: ?)- جستجوی رو به عقب برای متن مشخصشده.
search-backward-incrementaltext (emacs: C-r)- جستجوی
فزاینده رو
به عقب برای
متن
مشخصشده.
انتظار
میرود
همراه با
پرچم
-iدر دستورcommand-promptاستفاده شود. search-backward-texttext- جستجوی رو به عقب برای متن ساده مشخصشده.
search-forwardtext (vi: /)- جستجوی رو به جلو برای متن مشخصشده.
search-forward-incrementaltext (emacs: C-s)- جستجوی
فزاینده رو
به جلو برای
متن
مشخصشده.
انتظار
میرود
همراه با
پرچم
-iدر دستورcommand-promptاستفاده شود. search-forward-texttext- جستجوی رو به جلو برای متن ساده مشخصشده.
search-reverse(vi: N) (emacs: N)- تکرار آخرین جستجو در جهت معکوس (رو به جلو تبدیل به رو به عقب و رو به عقب تبدیل به رو به جلو میشود).
select-line(vi: V)- انتخاب خط جاری.
select-word- انتخاب کلمه جاری.
selection-mode[char|word|line]- تغییر حالت انتخاب.
set-mark(vi: X) (emacs: X)- علامتگذاری خط جاری.
start-of-line(vi: 0) (emacs: C-a)- انتقال مکاننما به ابتدای خط.
stop-selection- توقف انتخاب بدون پاک کردن ناحیه انتخابشده فعلی.
toggle-position(vi: P) (emacs: P)- تغییر وضعیت نمایش نشانگر موقعیت در بالا سمت راست.
top-line(vi: H) (emacs: M-R)- رفتن به بالاترین خط.
دستورات
جستجو در
چندین نوع
مختلف
ارائه
میشوند:
‘search-forward’ و
‘search-backward’
برای
جستجوی یک
عبارت
باقاعده به
کار
میروند؛
نسخههای
‘-text’ به
جای عبارت
باقاعده یک
رشته متنی
ساده را
جستجو
میکنند؛
نسخههای
‘-incremental’ یک
جستجوی
فزاینده
انجام
میدهند و
انتظار
میرود
همراه با
پرچم -i در
دستور
command-prompt
استفاده
شوند. دستور
‘search-again’
آخرین
جستجو را
تکرار
میکند و
‘search-reverse’
نیز همین
کار را
انجام
میدهد اما
جهت را
معکوس
میکند (رو
به جلو به رو
به عقب و رو
به عقب به رو
به جلو
تبدیل
میشود).
کلیدهای
میانبر
پیشفرض
جستجوی
فزاینده،
‘C-r’ و
‘C-s’,
برای
شبیهسازی
emacs(1)
طراحی
شدهاند.
هنگامی که
برای
نخستین بار
فشرده
شوند،
امکان وارد
کردن عبارت
جستجوی
جدید را
فراهم
میکنند؛
اگر با
عبارت
جستجوی
خالی فشرده
شوند،
عبارت
جستجوی
قبلی را
تکرار
میکنند.
دستورات
‘next-prompt’ و
‘previous-prompt’
بین خطوط
اعلان شل
جابهجا
میشوند،
اما
نیازمند آن
هستند که شل
یک دنباله
فرار (\033]133;A\033\\)
ارسال کند
تا به tmux
محل خطوط
اعلان را
اطلاع دهد؛
اگر شل این
کار را
انجام
ندهد، این
دستورات
هیچ کاری
انجام
نخواهند
داد. پرچم
-o به جای
خط اعلان
شل، به
ابتدای
خروجی
دستور پرش
میکند.
یافتن
ابتدای
خروجی
دستور
مستلزم آن
است که شل
دنباله
فرار (\033]133;C\033\\) را
ارسال کند
تا به tmux
اطلاع دهد
خروجی از
کجا آغاز
میشود. اگر
شل این
دنبالههای
فرار را
ارسال
نکند، این
دستورات
هیچ کاری
انجام
نمیدهند.
دستورات
رونوشت
ممکن است یک
آرگومان
اختیاری
پیشوند
بافر
دریافت
کنند که
برای تولید
نام بافر
استفاده
میشود
(پیشفرض
‘buffer’
است،
بنابراین
بافرها با
نامهای
‘buffer0’,
‘buffer1’ و
غیره
نامگذاری
میشوند).
دستورات pipe
یک آرگومان
دستور
دریافت
میکنند که
مشخصکننده
دستوری است
که متن
انتخابشده
به آن هدایت
میشود.
نسخههای
‘copy-pipe’
همچنین
ناحیه
انتخابشده
را رونوشت
میکنند.
نسخههای
‘-and-cancel’ در
برخی
دستورات،
پس از اتمام
کار (برای
دستورات
رونوشت) یا
زمانی که
مکاننما
به
پایینترین
نقطه برسد
(برای
دستورات
پیمایش)، از
حالت
رونوشت
خارج
میشوند.
نسخههای
‘-no-clear’
ناحیه
انتخاب را
پاک
نمیکنند.
تمام
دستورات
رونوشت
میتوانند
پرچمهای
-C و -P
را دریافت
کنند. پرچم
-C از
تنظیم
بریدهدان
ترمینال
هنگام
رونوشت
جلوگیری
میکند، در
حالی که
پرچم -P از
افزودن یک
بافر
جایگذاری
حاوی متن
ممانعت به
عمل
میآورد.
کلیدهای کلمه بعدی و قبلی از فاصلههای خالی عبور کرده و دنبالههای متوالی از جداکنندههای کلمه یا سایر حروف را به عنوان کلمه در نظر میگیرند. جداکنندههای کلمه را میتوان با گزینه نشست word-separators سفارشیسازی کرد. کلمه بعدی (next word) به ابتدای کلمه بعدی، پایان کلمه بعدی (next word end) به انتهای کلمه بعدی و کلمه قبلی (previous word) به ابتدای کلمه قبلی حرکت میکند. سه کلید فاصله بعدی و قبلی عملکرد مشابهی دارند اما تنها از فاصله به عنوان جداکننده کلمه استفاده میکنند. تنظیم word-separators روی یک رشته خالی، کلمه بعدی/قبلی را معادل فاصله بعدی/قبلی قرار میدهد.
دستورات
پرش امکان
جابهجایی
سریع درون
یک خط را
فراهم
میکنند.
برای
نمونه،
فشردن
‘f’ و سپس
‘/’
مکاننما
را به نویسه
‘/’ بعدی
در خط جاری
منتقل
میکند. یک
‘;’ سپس
به رخداد
بعدی پرش
خواهد کرد.
دستورات در حالت کپی میتوانند با یک شمارش تکرار اختیاری آغاز شوند. با کلیدهای vi، یک پیشوند با استفاده از کلیدهای عددی وارد میشود؛ با emacs، کلید Alt (متا) و یک عدد ورود پیشوند را آغاز میکند.
خلاصه
نحوه
استفاده از
دستور copy-mode
به این صورت
است:
copy-mode[-deHMqSu] [-ssrc-pane] [-ttarget-pane]- ورود به
حالت کپی.
-uوارد حالت کپی شده و یک صفحه به بالا پیمایش میکند و-dیک صفحه به پایین پیمایش میکند.-Hنشانگر موقعیت در بالا سمت راست را پنهان میکند.-qحالت کپی و هر حالت دیگری را لغو میکند.-Mکشیدن ماوس (mouse drag) را آغاز میکند (تنها زمانی معتبر است که به یک کلید ماوس مقید شده باشد، ببینید MOUSE SUPPORT).-Sوارد copy-mode شده و هنگامی که به رویداد کشیدن ماوس مقید باشد پیمایش میکند؛ ببینیدscroll-to-mouse.-sبه جای target-pane از src-pane کپی میکند.-eمشخص میکند که پیمایش به انتهای تاریخچه (به صفحه قابل مشاهده) باید از حالت کپی خارج شود. هنگام حضور در حالت کپی، فشردن کلیدی غیر از کلیدهای استفادهشده برای پیمایش، این رفتار را غیرفعال خواهد کرد. این قابلیت برای امکانپذیر ساختن پیمایش سریع در تاریخچه یک قاب در نظر گرفته شده است، برای نمونه با:bind PageUp copy-mode -eu bind PageDown copy-mode -ed
تعدادی
چیدمان از
پیش
تعیینشده
برای
قابها در
دسترس است
که
طرحبندی (layouts)
نامیده
میشوند.
این موارد
را میتوان
با دستور
select-layout
انتخاب کرد
یا به صورت
چرخشی با
next-layout
(بهطور
پیشفرض
مقید به
‘Space’ )
میان آنها
پیمایش
نمود؛ پس از
انتخاب یک
طرحبندی،
قابهای
درون آن را
میتوان
مانند حالت
عادی
جابهجا
کرد و
اندازه
آنها را
تغییر داد.
طرحبندیهای زیر پشتیبانی میشوند:
even-horizontal- قابها بهطور یکنواخت از چپ به راست در سراسر پنجره پخش میشوند.
even-vertical- قابها بهطور یکنواخت از بالا به پایین پخش میشوند.
main-horizontal- یک قاب بزرگ (اصلی) در بالای پنجره نمایش داده میشود و باقی قابها از چپ به راست در فضای باقیمانده در پایین پخش میشوند. از گزینه پنجره main-pane-height برای مشخص کردن ارتفاع قاب بالایی استفاده کنید.
main-horizontal-mirrored- همانند
main-horizontalاما به صورت قرینه، بهطوری که قاب اصلی در پایین پنجره قرار دارد. main-vertical- یک قاب بزرگ (اصلی) در سمت چپ پنجره نمایش داده میشود و باقی قابها از بالا به پایین در فضای باقیمانده در سمت راست پخش میشوند. از گزینه پنجره main-pane-width برای مشخص کردن عرض قاب سمت چپ استفاده کنید.
main-vertical-mirrored- همانند
main-verticalاما به صورت قرینه، بهطوری که قاب اصلی در سمت راست پنجره قرار دارد. tiled- قابها تا حد امکان بهطور یکنواخت روی پنجره در هر دو بعد سطرها و ستونها پخش میشوند.
علاوه بر
این،
میتوان از
select-layout برای
اعمال یک
طرحبندی
که قبلاً
استفاده
شده بهره
برد - دستور
list-windows
طرحبندی
هر پنجره را
به شکلی
مناسب برای
استفاده با
select-layout
نمایش
میدهد.
برای
نمونه:
$ tmux list-windows
0: ksh [159x48]
layout: bb62,159x48,0,0{79x48,0,0,79x48,80,0}
$ tmux select-layout 'bb62,159x48,0,0{79x48,0,0,79x48,80,0}'
tmux
بهطور
خودکار
اندازه
طرحبندی
را متناسب
با اندازه
پنجره جاری
تنظیم
میکند.
توجه داشته
باشید که یک
طرحبندی
را
نمیتوان
روی
پنجرهای
با تعداد
قابهای
بیشتر از
پنجرهای
که
طرحبندی
در اصل برای
آن تعریف
شده اعمال
کرد.
دستورات مربوط به پنجرهها و قابها به شرح زیر هستند:
break-pane[-abdP] [-Fformat] [-nwindow-name] [-ssrc-pane] [-tdst-window]-
(alias:جداسازی src-pane از پنجره دربرگیرنده آن برای تبدیل آن به تنها قاب موجود در dst-window. همراه با
breakp)-aیا-b, پنجره به نمایه بعدی بعد از یا قبل از منتقل میشود (پنجرههای موجود در صورت لزوم جابهجا میشوند). اگر-dداده شود، پنجره جدید به پنجره جاری تبدیل نمیشود. گزینه-Pاطلاعات مربوط به پنجره جدید را پس از ایجاد چاپ میکند. بهطور پیشفرض، از قالب ‘#{session_name}:#{window_index}.#{pane_index}’ استفاده میکند اما میتوان قالب متفاوتی را با-Fمشخص کرد. capture-pane[-aeFHLpPqCJMN] [-bbuffer-name] [-Eend-line] [-Sstart-line] [-ttarget-pane]-
(alias:ضبط محتویات یک قاب. اگر
capturep)-pداده شود، خروجی به stdout ارسال میشود، در غیر این صورت به بافر مشخصشده با-bیا در صورت حذف به یک بافر جدید ارسال میگردد. اگر-aداده شود، از صفحه جایگزین (alternate screen) استفاده میشود و تاریخچه در دسترس نخواهد بود. اگر هیچ صفحه جایگزینی وجود نداشته باشد، خطایی بازگردانده میشود مگر اینکه-qداده شده باشد. به طور مشابه، اگر قاب در یک حالت باشد،-Mاز صفحه مربوط به آن حالت استفاده میکند. اگر-eداده شود، خروجی شامل دنبالههای گریز برای مشخصههای متن و پسزمینه خواهد بود.-Cهمچنین نویسههای غیرقابلچاپ را به صورت هشتهشتی (octal) بهشکل \xxx اسکیپ میکند.-Tموقعیتهای پایانی که فاقد نویسه هستند را نادیده میگیرد.-Nفاصلههای انتهایی را در پایان هر خط حفظ میکند و-Jفاصلههای انتهایی را حفظ کرده و خطوط پیچیدهشده را ادغام میکند؛-Jمستلزم-Tاست.-Pتنها خروجیهایی را ضبط میکند که قاب دریافت کرده و ابتدای یک دنباله گریز تاکنون ناقص هستند.-Lشماره خط را در ابتدای هر خط شامل میشود و-Fپرچمها را شامل میشود (که در آن ‘-’ بدون پرچم است، ‘D’ یک خط استفادهنشده است، ‘O’ یک خط نشانهگذاریشده به عنوان خروجی است، ‘P’ یک خط نشانهگذاریشده به عنوان اعلان است، ‘X’ یک خط شامل سلولهای گسترشیافته است و ‘H’ یک خط دارای پیوند است). همراه با-H, تنها پیوندهای موجود در خطوط مشخصشده ضبط میشوند. چندین پیوند در یک خط با فاصله از یکدیگر جدا میشوند.-Sو-Eشماره خطوط شروع و پایان را مشخص میکنند، صفر اولین خط قاب قابل مشاهده است و اعداد منفی خطوط موجود در تاریخچه هستند. ‘-’ برای-Sابتدای تاریخچه و برای-Eانتهای قاب قابل مشاهده است. حالت پیشفرض، ضبط تنها محتویات قابل مشاهده قاب است. choose-client[-NryZ] [-Fformat] [-ffilter] [-Kkey-format] [-Osort-order] [-ttarget-pane] [template]- قرار دادن
قاب در حالت
کلاینت، که
اجازه
میدهد یک
کلاینت به
صورت
تعاملی از
یک فهرست
انتخاب شود.
هر کلاینت
در یک خط
نمایش داده
میشود. یک
کلید
میانبر در
سمت چپ داخل
براکت برای
انتخاب
فوری نشان
داده
میشود، یا
میتوان
فهرست را
پیمایش
کرده و
موردی را
انتخاب یا
با استفاده
از کلیدهای
زیر
دستکاری
نمود.
-Zقاب را بزرگنمایی میکند.-yهرگونه اعلان تایید را غیرفعال میکند. کلیدهای زیر ممکن است در حالت کلاینت استفاده شوند:کلید عملکرد Enterانتخاب کلاینت انتخابشده Upانتخاب کلاینت قبلی Downانتخاب کلاینت بعدی C-sجستجو بر اساس نام nتکرار آخرین جستجو رو به جلو Nتکرار آخرین جستجو رو به عقب tتغییر وضعیت نشانهگذاری کلاینت Tبرداشتن نشانهگذاری همه کلاینتها C-tنشانهگذاری همه کلاینتها dجدا کردن کلاینت انتخابشده Dجدا کردن کلاینتهای نشانهگذاریشده xجدا کردن و HUP کلاینت انتخابشده Xجدا کردن و HUP کلاینتهای نشانهگذاریشده zمعلق کردن کلاینت انتخابشده Zمعلق کردن کلاینتهای نشانهگذاریشده fورود یک قالب برای فیلتر کردن موارد Oتغییر ترتیب مرتبسازی rمعکوس کردن ترتیب مرتبسازی vتغییر وضعیت پیشنمایش F1 or C-hنمایش راهنما qخروج از حالت پس از انتخاب یک کلاینت، ‘
%%’ با نام کلاینت در template جایگزین شده و نتیجه به عنوان یک دستور اجرا میشود. اگر template داده نشود، از "detach-client -t '%%'" استفاده میشود.-Oترتیب مرتبسازی اولیه را مشخص میکند: یکی از ‘name’, ‘size’, ‘creation’ (زمان ساخت)، یا ‘activity’ (زمان فعالیت).-rترتیب مرتبسازی را معکوس میکند.-fیک فیلتر اولیه را مشخص میکند: فیلتر یک قالب است - اگر مقدار آن صفر ارزیابی شود، مورد در فهرست نمایش داده نمیشود، در غیر این صورت نمایش داده میشود. اگر یک فیلتر منجر به یک فهرست خالی شود، نادیده گرفته میشود.-Fقالب هر مورد در فهرست و-Kقالب مربوط به هر کلید میانبر را مشخص میکند؛ هر دو یک بار برای هر خط ارزیابی میشوند.-Nبدون پیشنمایش آغاز میشود یا اگر دو بار داده شود با پیشنمایش بزرگتر شروع میشود. این دستور تنها در صورتی کار میکند که حداقل یک کلاینت متصل باشد. choose-tree[-GNrswyZ] [-Fformat] [-ffilter] [-Kkey-format] [-Osort-order] [-ttarget-pane] [template]- قرار دادن
یک قاب در
حالت درختی
(tree mode)، جایی که
یک نشست،
پنجره یا
قاب
میتواند
به صورت
تعاملی از
یک ساختار
درختی
انتخاب شود.
هر نشست،
پنجره یا
قاب در یک
خط نشان
داده
میشود. یک
کلید
میانبر در
سمت چپ داخل
براکت برای
انتخاب
فوری نمایش
داده
میشود، یا
میتوان
ساختار
درختی را
پیمایش
کرده و
موردی را
انتخاب یا
با استفاده
از کلیدهای
زیر
دستکاری
نمود.
-sبا نشستهای جمعشده (collapsed) شروع میشود و-wبا پنجرههای جمعشده.-Zقاب را بزرگنمایی میکند.-yهرگونه اعلان تایید را غیرفعال میکند. کلیدهای زیر ممکن است در حالت درختی استفاده شوند:کلید عملکرد Enterانتخاب مورد انتخابشده Upانتخاب مورد قبلی Downانتخاب مورد بعدی S-Upجابهجایی پنجره فعلی با پنجره قبلی S-Downجابهجایی پنجره فعلی با پنجره بعدی +گسترش مورد انتخابشده -جمع کردن مورد انتخابشده M-+گسترش همه موارد M--جمع کردن همه موارد xبستن مورد انتخابشده Xبستن موارد نشانهگذاریشده <پیمایش فهرست پیشنمایشها به چپ >پیمایش فهرست پیشنمایشها به راست C-sجستجو بر اساس نام mتنظیم کادر نشانهگذاریشده Mپاک کردن کادر نشانهگذاریشده nتکرار آخرین جستجو رو به جلو Nتکرار آخرین جستجو رو به عقب tتغییر وضعیت نشانهگذاری مورد Tبرداشتن نشانهگذاری همه موارد C-tنشانهگذاری همه موارد :اجرای یک دستور برای هر مورد نشانهگذاریشده fورود یک قالب برای فیلتر کردن موارد Hپرش به کادر اولیه Oتغییر ترتیب مرتبسازی rمعکوس کردن ترتیب مرتبسازی vتغییر وضعیت پیشنمایش F1 or C-hنمایش راهنما qخروج از حالت پس از انتخاب یک نشست، پنجره یا کادر، نخستین رخداد ‘
%%’ و تمام رخدادهای ‘%1’ با هدف در template جایگزین شده و نتیجه به عنوان یک دستور اجرا میشود. اگر template داده نشود، "switch-client -t '%%'" استفاده میشود.-Oترتیب مرتبسازی اولیه را مشخص میکند: یکی از ‘index’, ‘name’, ‘activity’ (زمان) یا ‘z’.-rترتیب مرتبسازی را معکوس میکند.-fیک فیلتر اولیه را مشخص میکند: این فیلتر یک قالب است - اگر مقدار آن صفر شود، مورد در فهرست نشان داده نمیشود، در غیر این صورت نمایش داده میشود. اگر فیلتر منجر به یک فهرست خالی شود، نادیده گرفته میشود.-Fقالب را برای هر مورد در درخت و-Kقالبی را برای هر کلید میانبر مشخص میکند؛ هر دوی آنها یک بار برای هر خط ارزیابی میشوند.-Nبدون پیشنمایش شروع میکند یا اگر دو بار داده شود با پیشنمایش بزرگتر آغاز میشود.-Gهمه نشستهای موجود در هر گروه نشستی را به جای تنها نشست اول در درخت میگنجاند. این دستور تنها در صورتی کار میکند که دستکم یک کلاینت متصل باشد. customize-mode[-NZ] [-Fformat] [-ffilter] [-ttarget-pane] [template]- کادر را در
حالت
سفارشیسازی
قرار
میدهد،
جایی که
گزینهها و
کلیدهای
میانبر
میتوانند
از یک فهرست
مرور و
تغییر داده
شوند.
مقادیر
گزینهها
در فهرست
برای کادر
فعال در
پنجره فعلی
نشان داده
میشوند.
-Zکادر را بزرگنمایی میکند. کلیدهای زیر ممکن است در حالت سفارشیسازی استفاده شوند:Key Function Enterتنظیم مقدار گزینه کادر، پنجره، نشست یا سراسری Upانتخاب مورد قبلی Downانتخاب مورد بعدی +گسترش مورد انتخابشده -جمع کردن مورد انتخابشده M-+گسترش همه موارد M--جمع کردن همه موارد sتنظیم مقدار گزینه یا ویژگی کلید Sتنظیم مقدار گزینه سراسری wتنظیم مقدار گزینه پنجره، اگر گزینه برای کادر و پنجره باشد dتنظیم یک گزینه یا کلید به پیشفرض Dتنظیم گزینهها و کلیدهای نشانهگذاریشده به پیشفرض uحذف مقدار یک گزینه (تنظیم به مقدار پیشفرض اگر سراسری باشد) یا لغو انتساب کلید Uحذف مقدار گزینههای نشانهگذاریشده و لغو انتساب کلیدهای نشانهگذاریشده C-sجستجو بر اساس نام nتکرار آخرین جستجو رو به جلو Nتکرار آخرین جستجو رو به عقب tتغییر وضعیت نشانهگذاری مورد Tبرداشتن نشانهگذاری همه موارد C-tنشانهگذاری همه موارد fورود یک قالب برای فیلتر کردن موارد vتغییر وضعیت اطلاعات گزینه F1 or C-hنمایش راهنما qخروج از حالت -fیک فیلتر اولیه را مشخص میکند: فیلتر یک قالب است - اگر مقدار آن صفر شود، مورد در فهرست نشان داده نمیشود، در غیر این صورت نمایش داده میشود. اگر فیلتر به یک فهرست خالی منجر شود، نادیده گرفته میشود.-Fقالب را برای هر مورد در درخت مشخص میکند.-Nبدون اطلاعات گزینه شروع میکند. این دستور تنها در صورتی کار میکند که دستکم یک کلاینت متصل باشد. display-panes[-bN] [-dduration] [-ttarget-client] [template]-
(alias:یک نشانگر بصری از هر کادر نمایش داده شده توسط target-client را نمایش میدهد. گزینههای نشست
displayp)display-panes-colourوdisplay-panes-active-colourرا ببینید. نشانگر با فشردن یک کلید (مگر اینکه-Nداده شده باشد) یا سپری شدن duration میلیثانیه بسته میشود. اگر-dداده نشود،display-panes-timeاستفاده میشود. مدت زمان صفر به این معنی است که نشانگر تا زمان فشرده شدن یک کلید باقی میماند. هنگامی که نشانگر روی صفحه است، یک کادر میتواند با کلیدهای ‘0’ تا ‘9’ انتخاب شود، که باعث خواهد شد template به عنوان یک دستور با جایگزینی ‘%%’ توسط شناسه کادر اجرا شود. مقدار پیشفرض template برابر "select-pane -t '%%'" است. با-b, سایر دستورات تا زمان بسته شدن نشانگر از اجرا مسدود نمیشوند. find-window[-iCNrTZ] [-ttarget-pane] match-string-
(alias:جستجو برای یک الگوی glob(7) یا با
findw)-r, عبارت باقاعده match-string در نامها، عنوانها و محتوای قابل مشاهده پنجره (اما نه تاریخچه). فلگها رفتار تطبیق را کنترل میکنند:-Cتنها با محتوای قابل مشاهده پنجره تطبیق مییابد،-Nتنها با نام پنجره تطبیق مییابد و-Tتنها با عنوان پنجره تطبیق مییابد.-iباعث میشود جستجو بزرگی و کوچکی حروف را نادیده بگیرد. پیشفرض-CNTاست.-Zکادر را بزرگنمایی میکند.این دستور تنها در صورتی کار میکند که دستکم یک کلاینت متصل باشد.
join-pane[-bdfhv] [-lsize] [-ssrc-pane] [-tdst-pane]-
(alias:مانند
joinp)split-window, اما به جای تقسیم کردن dst-pane و ایجاد یک کادر جدید، آن را تقسیم کرده و src-pane را به فضای ایجاد شده منتقل میکند. این میتواند برای معکوس کردنbreak-paneاستفاده شود. گزینه-bباعث میشود src-pane به سمت چپ یا بالای dst-pane پیوست شود.اگر
-sحذف شود و کادر نشانهگذاریشده وجود داشته باشد (بهselect-pane-mمراجعه کنید)، کادر نشانهگذاریشده به جای کادر فعلی استفاده میشود. kill-pane[-a] [-ttarget-pane]-
(alias:کادر دادهشده را از بین میبرد. اگر هیچ کادری در پنجره دربرگیرنده باقی نماند، آن نیز از بین میرود. گزینه
killp)-aهمه کادرها به جز کادر دادهشده با-tرا میبندد. kill-window[-a] [-ttarget-window]-
(alias:پنجره فعلی یا پنجره موجود در target-window را بسته و آن را از هر نشستی که به آن پیوند دارد حذف میکند. گزینه
killw)-aهمه پنجرهها به جز پنجره دادهشده با-tرا میبندد. last-pane[-deZ] [-ttarget-window]-
(alias:آخرین کادر (کادر انتخابشده قبلی) را انتخاب میکند.
lastp)-Zاگر پنجره بزرگنمایی شده بود، آن را بزرگنماییشده نگه میدارد.-eورودی به کادر را فعال یا-dآن را غیرفعال میکند. last-window[-ttarget-session]-
(alias:آخرین پنجره (پنجره انتخابشده قبلی) را انتخاب میکند. اگر هیچ target-session مشخص نشده باشد، آخرین پنجره نشست فعلی را انتخاب میکند.
last) link-window[-abdk] [-ssrc-window] [-tdst-window]-
(alias:پنجره موجود در src-window را به dst-window مشخصشده پیوند میدهد. اگر dst-window مشخص شده باشد و چنین پنجرهای وجود نداشته باشد، src-window به آنجا پیوند مییابد. با
linkw)-aیا-bپنجره به نمایه بعدی بعد از یا قبل از dst-window منتقل میشود (پنجرههای موجود در صورت لزوم جابهجا میشوند). اگر-kداده شود و dst-window وجود داشته باشد، بسته میشود، در غیر این صورت یک خطا ایجاد میگردد. اگر-dداده شود، پنجره تازه پیوندیافته انتخاب نمیشود. list-panes[-ars] [-Fformat] [-ffilter] [-Osort-order] [-ttarget]-
(alias:اگر
lsp)-aداده شود، target نادیده گرفته شده و تمام کادرهای روی سرور فهرست میشوند. اگر-sداده شود، target یک نشست (یا نشست فعلی) است. اگر هیچکدام داده نشود، target یک پنجره (یا پنجره فعلی) است.-Fقالب هر خط و-fیک فیلتر را مشخص میکند. تنها کادرهایی که فیلتر برای آنها درست باشد نشان داده میشوند. بخش قالبها (FORMATS) را ببینید.-Oترتیب مرتبسازی را مشخص میکند: یکی از ‘name’ (عنوان)، ‘index’, ‘size’ (مساحت)، ‘creation’ (زمان)، یا ‘activity’ (زمان).-rترتیب مرتبسازی را معکوس میکند. list-windows[-ar] [-Fformat] [-ffilter] [-Osort-order] [-ttarget-session]-
(alias:اگر
lsw)-aداده شود، تمام پنجرههای روی سرور را فهرست میکند. در غیر این صورت، پنجرههای نشست فعلی یا موجود در target-session را فهرست میکند.-Fقالب هر خط و-fیک فیلتر را مشخص میکند. تنها پنجرههایی که فیلتر برای آنها درست باشد نشان داده میشوند. بخش قالبها (FORMATS) را ببینید.-Oترتیب مرتبسازی را مشخص میکند: یکی از ‘index’, ‘name’, ‘size’ (مساحت)، ‘creation’ (زمان)، یا ‘activity’ (زمان).-rترتیب مرتبسازی را معکوس میکند. move-pane[-bdfhv] [-lsize] [-ssrc-pane] [-tdst-pane]-
(alias:همان عملکرد
movep)join-paneرا دارد. move-window[-abrdk] [-ssrc-window] [-tdst-window]-
(alias:این دستور شبیه به
movew)link-windowاست، با این تفاوت که پنجره در src-window به dst-window منتقل میشود. با-r, تمام پنجرههای نشست به ترتیب متوالی و با رعایت گزینهbase-indexشمارهگذاری مجدد میشوند. new-window[-abdkPS] [-cstart-directory] [-eenvironment] [-Fformat] [-nwindow-name] [-ttarget-window] [shell-command [argument ...]]-
(alias:یک پنجره جدید ایجاد میکند. با
neww)-aیا-b, پنجره جدید در نمایه (index) بعدی پس از یا پیش از target-window مشخصشده درج میشود و در صورت نیاز پنجرهها را به جلو میبرد؛ در غیر این صورت target-window مکان پنجره جدید خواهد بود.اگر
-dداده شود، نشست پنجره جدید را به عنوان پنجره جاری قرار نمیدهد. target-window نشاندهنده پنجرهای است که باید ایجاد شود؛ اگر هدف از قبل وجود داشته باشد خطایی نمایش داده میشود، مگر اینکه پرچم-kاستفاده شود که در این صورت پنجره قبلی از بین میرود. اگر-Sداده شود و پنجرهای با نام window-name از قبل وجود داشته باشد، آن پنجره انتخاب میشود (مگر اینکه-dنیز داده شده باشد که در آن حالت دستور کاری انجام نمیدهد).shell-command دستوری است که باید اجرا شود. اگر shell-command مشخص نشده باشد، مقدار گزینه
default-commandاستفاده میشود.-cدایرکتوری کاری را که پنجره جدید در آن ایجاد میشود مشخص میکند.هنگامی که دستور شل به پایان میرسد، پنجره بسته میشود. برای تغییر این رفتار به گزینه
remain-on-exitمراجعه کنید.-eبه فرم ‘VARIABLE=value’ است و یک متغیر محیطی برای پنجره تازه ایجاد شده تنظیم میکند؛ این گزینه میتواند چندین بار مشخص شود.متغیر محیطی
TERMباید برای تمام برنامههایی که درونtmuxاجرا میشوند روی ‘screen’ یا ‘tmux’ تنظیم شده باشد. پنجرههای جدید به طور خودکار ‘TERM=screen’ را به محیط خود اضافه میکنند، اما باید دقت شود که این مقدار در فایلهای راهاندازی شل یا توسط گزینه-eبازنشانی نشود.گزینه
-Pاطلاعات مربوط به پنجره جدید را پس از ایجاد شدن چاپ میکند. بهطور پیشفرض، از قالب ‘#{session_name}:#{window_index}’ استفاده میکند، اما میتوان با-Fقالب متفاوتی را مشخص کرد. new-pane[-bdefhIkPvZ] [-cstart-directory] [-eenvironment] [-Fformat] [-lsize] [-mmessage] [-ppercentage] [-Rinactive-border-style] [-sstyle] [-Sactive-border-style] [-ttarget-pane] [shell-command [argument ...]]-
(alias:یک قاب (pane) جدید ایجاد میکند. قاب جدید با تقسیم کردن target-pane ایجاد میشود. اگر
newp)-dداده شود، نشست قاب جدید را به عنوان قاب جاری قرار نمیدهد.-Zاگر پنجره بزرگنمایی نشده باشد آن را بزرگنمایی میکند، یا اگر از قبل بزرگنمایی شده باشد آن را در حالت بزرگنمایی نگه میدارد.-sسبک محتوای قاب را تنظیم میکند.-Sسبک حاشیه را هنگام فعال بودن قاب تنظیم میکند و-Rسبک حاشیه را هنگام غیرفعال بودن قاب تنظیم میکند (ببینید STYLES).-hتقسیم افقی و-vتقسیم عمودی انجام میدهد؛ اگر هیچکدام مشخص نشود،-vفرض میشود. گزینه-lاندازه قاب جدید را بر حسب سطر (برای تقسیم عمودی) یا ستون (برای تقسیم افقی) مشخص میکند؛ size میتواند با ‘%’ برای مشخص کردن درصدی از فضای موجود همراه باشد.-pیک گزینه میانبر برای این کار است. گزینه-bباعث میشود قاب جدید در سمت چپ یا بالای target-pane ایجاد شود. گزینه-fبه جای تقسیم کردن قاب فعال، یک قاب جدید ایجاد میکند که تمام ارتفاع پنجره (با-h) یا تمام عرض پنجره (با-v), را در بر میگیرد.-kپس از خروج shell-command اختیاری، قاب را باز نگه میدارد و قبل از بستن آن منتظر فشردن یک کلید میماند. پیام نمایشدادهشده توسط گزینهremain-on-exit-formatکنترل میشود.-mmessage معادل-kاست اما گزینهremain-on-exit-formatرا برای این قاب روی message تنظیم میکند.-E, یا یک shell-command خالی ('') یک قاب خالی بدون هیچ دستور در حال اجرایی ایجاد خواهد کرد؛display-message-Iمیتواند در یک قاب خالی بنویسد. پرچم-Iیک قاب خالی ایجاد کرده و هرگونه خروجی از stdin را به آن هدایت میکند. به عنوان مثال:$ make 2>&1|tmux splitw -dI &
تمام گزینههای دیگر معانی مشابه با دستور
new-windowدارند. next-layout[-ttarget-window]-
(alias:پنجره را به چیدمان (layout) بعدی برده و قابها را متناسب با آن بازآرایی میکند.
nextl) next-window[-a] [-ttarget-session]-
(alias:به پنجره بعدی در نشست میرود. اگر
next)-aاستفاده شود، به پنجره بعدی دارای هشدار میرود. pipe-pane[-IOo] [-ttarget-pane] [shell-command]-
(alias:خروجی ارسالشده توسط برنامه در target-pane را به یک دستور شل پایپ میکند یا برعکس. یک قاب در هر لحظه تنها میتواند به یک دستور متصل باشد، هر پایپ موجود قبل از اجرای shell-command بسته میشود. رشته shell-command میتواند شامل توالیهای کاراکتری ویژهای باشد که توسط گزینه
pipep)status-leftپشتیبانی میشوند. اگر هیچ shell-command داده نشود، پایپ فعلی (در صورت وجود) بسته میشود.-Iو-Oمشخص میکنند که کدامیک از جریانهای خروجی shell-command به قاب متصل شوند: با-Iخروجی استاندارد (stdout) متصل میشود (بنابراین هر چیزی که shell-command چاپ کند چنان در قاب نوشته میشود که گویی تایپ شده است)؛ با-Oورودی استاندارد (stdin) متصل میشود (بنابراین هر خروجی درون قاب به shell-command). پایپ میشود. هر دو میتوانند با هم استفاده شوند و اگر هیچکدام مشخص نشوند،-Oاستفاده میشود.گزینه
-oتنها در صورتی یک پایپ جدید باز میکند که هیچ پایپ قبلی وجود نداشته باشد، که امکان تغییر وضعیت پایپ (toggle) را با یک کلید واحد فراهم میکند، به عنوان مثال:bind-key C-p pipe-pane -o 'cat >>~/output.#I-#P'
previous-layout[-ttarget-window]-
(alias:به چیدمان (layout) قبلی در نشست میرود.
prevl) previous-window[-a] [-ttarget-session]-
(alias:به پنجره قبلی در نشست میرود. با
prev)-a, به پنجره قبلی دارای هشدار میرود. rename-window[-ttarget-window] new-name-
(alias:نام پنجره جاری، یا در صورت تعیین، پنجره در target-window را به new-name تغییر میدهد.
renamew) resize-pane[-DLMRTUZ] [-ttarget-pane] [-xwidth] [-yheight] [adjustment]-
(alias:اندازه یک قاب را به بالا، پایین، چپ یا راست به میزان adjustment با
resizep)-U,-D,-Lیا-R, یا به یک اندازه مطلق با-xیا-yتغییر میدهد. adjustment بر حسب سطر یا ستون داده میشود (پیشفرض ۱ است)؛-xو-yمیتوانند به عنوان تعداد سطرها یا ستونها مشخص شوند یا با ‘%’ برای درصدی از اندازه پنجره همراه باشند (برای مثال ‘-x 10%’). با-Z, قاب فعال بین حالت بزرگنماییشده (اشغال تمام پنجره) و بزرگنمایینشده (موقعیت عادی آن در چیدمان) تغییر وضعیت میدهد (toggle میشود).-Mتغییر اندازه با ماوس را آغاز میکند (تنها در صورتی معتبر است که به یک کلید ماوس متصل شده باشد، ببینید MOUSE SUPPORT).-Tتمام خطوط زیر موقعیت فعلی مکاننما را حذف کرده و خطوطی را از تاریخچه برای جایگزینی آنها منتقل میکند. resize-window[-aADLRU] [-ttarget-window] [-xwidth] [-yheight] [adjustment]-
(alias:اندازه یک پنجره را به بالا، پایین، چپ یا راست به میزان adjustment با
resizew)-U,-D,-Lیا-R, یا به یک اندازه مطلق با-xیا-yتغییر میدهد. adjustment بر حسب سطر یا سلول داده میشود (پیشفرض ۱ است).-Aاندازه را روی بزرگترین نشست شامل پنجره تنظیم میکند؛-aروی اندازه کوچکترین نشست. این دستور به طور خودکارwindow-sizeرا در گزینههای پنجره روی manual تنظیم میکند. respawn-pane[-k] [-cstart-directory] [-eenvironment] [-ttarget-pane] [shell-command [argument ...]]-
(alias:فعالسازی مجدد یک قاب که دستور در آن پایان یافته است (گزینه پنجره
respawnp)remain-on-exitرا ببینید). اگر shell-command داده نشود، دستوری که هنگام ایجاد قاب یا آخرین بازراهاندازی آن استفاده شده بود، اجرا میشود. قاب باید از پیش غیرفعال باشد، مگر آنکه-kداده شود، که در این حالت هر دستور موجود خاتمه داده میشود (kill).-cیک دایرکتوری کاری جدید برای قاب مشخص میکند. گزینه-eمعنایی مشابه با دستورnew-windowدارد. respawn-window[-k] [-cstart-directory] [-eenvironment] [-ttarget-window] [shell-command [argument ...]]-
(alias:فعالسازی مجدد یک پنجره که دستور در آن پایان یافته است (گزینه پنجره
respawnw)remain-on-exitرا ببینید). اگر shell-command داده نشود، دستوری که هنگام ایجاد پنجره یا آخرین بازراهاندازی آن استفاده شده بود، اجرا میشود. پنجره باید از پیش غیرفعال باشد، مگر آنکه-kداده شود، که در این حالت هر دستور موجود خاتمه داده میشود (kill).-cیک دایرکتوری کاری جدید برای پنجره مشخص میکند. گزینه-eمعنایی مشابه با دستورnew-windowدارد. rotate-window[-DUZ] [-ttarget-window]-
(alias:چرخش موقعیتهای قابها درون یک پنجره، به سمت بالا (از نظر عددی کمتر) با
rotatew)-Uیا به سمت پایین (از نظر عددی بیشتر).-Zدر صورتی که پنجره بزرگنمایی شده باشد، وضعیت بزرگنمایی آن را حفظ میکند. select-layout[-Enop] [-ttarget-pane] [layout-name]-
(alias:انتخاب یک چیدمان مشخص برای یک پنجره. اگر layout-name داده نشود، آخرین چیدمان پیشتنظیم استفادهشده (در صورت وجود) دوباره اعمال میشود.
selectl)-nو-pمعادل دستوراتnext-layoutوprevious-layoutهستند.-oدر صورت امکان آخرین چیدمان تنظیمشده را اعمال میکند (آخرین تغییر چیدمان را لغو میکند).-Eقاب فعلی و هر قابی که کنار آن قرار دارد را بهطور یکنواخت میگستراند. select-pane[-DdeLlMmRUZ] [-Ttitle] [-ttarget-pane]-
(alias:قاب target-pane را به قاب فعال در پنجرهاش تبدیل میکند. اگر یکی از
selectp)-D,-L,-R, یا-Uاستفاده شود، به ترتیب قاب پایین، سمت چپ، سمت راست یا بالای قاب هدف استفاده میشود.-Zدر صورتی که پنجره بزرگنمایی شده باشد، وضعیت بزرگنمایی آن را حفظ میکند.-lمشابه استفاده از دستورlast-paneاست.-eورودی به قاب را فعال کرده یا-dآن را غیرفعال میکند.-Tعنوان قاب را تنظیم میکند.-mو-Mبرای تنظیم و پاک کردن marked pane به کار میروند. در هر زمان تنها یک قاب نشاندار وجود دارد؛ تنظیم یک قاب نشاندار جدید، مورد قبلی را پاک میکند. قاب نشاندار، هدف پیشفرض برای گزینه-sدر دستوراتjoin-pane,move-pane,swap-paneوswap-windowاست. select-window[-lnpT] [-ttarget-window]-
(alias:انتخاب پنجره در target-window.
selectw)-l,-nو-pمعادل دستوراتlast-window,next-windowوprevious-windowهستند. اگر-Tداده شود و پنجره انتخابشده در حال حاضر پنجره فعلی باشد، این دستور مانندlast-windowرفتار میکند. split-window[-bdefhIkPvZ] [-cstart-directory] [-eenvironment] [-Fformat] [-lsize] [-mmessage] [-ppercentage] [-Rinactive-border-style] [-sstyle] [-Sactive-border-style] [-ttarget-pane] [shell-command [argument ...]]-
(alias:ایجاد یک قاب جدید با تقسیم کردن target-pane. رفتار مشترکی با
splitw)new-paneدارد.برای جزئیات بیشتر به
new-paneمراجعه کنید. swap-pane[-dDUZ] [-ssrc-pane] [-tdst-pane]-
(alias:جابهجایی دو قاب با یکدیگر. اگر
swapp)-Uاستفاده شود و هیچ قاب مبدئی با-sمشخص نشده باشد، dst-pane با قاب قبلی (از نظر عددی قبل از آن) جابهجا میشود؛-Dبا قاب بعدی (از نظر عددی پس از آن) جابهجا میکند.-dبهtmuxدستور میدهد قاب فعال را تغییر ندهد و-Zدر صورتی که پنجره بزرگنمایی شده باشد، وضعیت بزرگنمایی آن را حفظ میکند.اگر
-sحذف شود و یک قاب نشاندار وجود داشته باشد (بهselect-pane-mمراجعه کنید)، به جای قاب فعلی از قاب نشاندار استفاده میشود. swap-window[-d] [-ssrc-window] [-tdst-window]-
(alias:این دستور مشابه
swapw)link-windowاست، با این تفاوت که پنجرههای مبدأ و مقصد با یکدیگر جابهجا میشوند. اگر هیچ پنجرهای در src-window وجود نداشته باشد، خطا رخ میدهد. اگر-dداده شود، پنجره جدید به پنجره فعلی تبدیل نمیشود.اگر
-sحذف شود و یک قاب نشاندار وجود داشته باشد (بهselect-pane-mمراجعه کنید)، پنجره حاوی قاب نشاندار به جای پنجره فعلی استفاده میشود. unlink-window[-k] [-ttarget-window]-
(alias:حذف پیوند از target-window. مگر در حالتی که
unlinkw)-kداده شود، یک پنجره تنها در صورتی میتواند بدون پیوند شود که به چند نشست پیوند داشته باشد - پنجرهها نمیتوانند به هیچ نشستی پیوند نداشته باشند؛ اگر-kمشخص شده باشد و پنجره فقط به یک نشست پیوند داشته باشد، پیوند آن برداشته شده و نابود میشود.
کلیدهای میانبر (KEY BINDINGS)
tmux
اجازه
میدهد یک
دستور به
بیشتر
کلیدها، با
یا بدون یک
کلید
پیشوند
متصل شود.
هنگام مشخص
کردن
کلیدها،
بیشتر
آنها خود
را نشان
میدهند
(برای نمونه
‘A’ تا
‘Z’).
کلیدهای Ctrl
میتوانند
با پیشوند
‘C-’ یا
‘^ ،’
کلیدهای Shift
با پیشوند
‘S-’ و Alt (یا
meta) با پیشوند
‘M-’ مشخص
شوند. افزون
بر این،
نامهای
کلید ویژه
زیر
پذیرفته
میشوند:
Up, Down,
Left,
Right,
BSpace,
BTab,
DC
(Delete)،
End,
Enter,
Escape,
F1 تا
F12,
Home,
IC
(Insert)،
NPage/PageDown/PgDn,
PPage/PageUp/PgUp,
Space
و Tab. توجه
داشته
باشید که
برای متصل
کردن
کلیدهای
‘"’ یا
‘'’
استفاده از
علامتهای
نقلقول
ضروری است،
برای
نمونه:
bind-key '"' split-window bind-key "'" new-window
دستوری که به کلید Any متصل شده باشد برای تمام کلیدهایی که اتصال مشخصتری ندارند اجرا خواهد شد.
دستورات مربوط به کلیدهای میانبر به شرح زیر هستند:
bind-key[-nr] [-Nnote] [-Tkey-table] key [command [argument ...]]-
(alias:اتصال کلید key به command. کلیدها در یک جدول کلید متصل میشوند. بهطور پیشفرض (بدون -T)، کلید در جدول کلید prefix متصل میشود. این جدول برای کلیدهایی استفاده میشود که پس از کلید پیشوند فشرده میشوند (برای نمونه، بهطور پیشفرض ‘
bind)c’ بهnew-windowدر جدول prefix متصل است، بنابراین ‘C-b c’ یک پنجره جدید ایجاد میکند). جدول root برای کلیدهایی استفاده میشود که بدون کلید پیشوند فشرده میشوند: متصل کردن ‘c’ بهnew-windowدر جدول root (توصیه نمیشود) به این معناست که فشردن ساده ‘c’ یک پنجره جدید ایجاد خواهد کرد.-nیک نام مستعار برای-Troot است. کلیدها همچنین میتوانند در جدولهای کلید سفارشی متصل شوند و از دستورswitch-client-Tبرای تغییر به آنها از یک اتصال کلید استفاده شود. فلگ-rنشان میدهد که این کلید ممکن است تکرار شود، گزینههایinitial-repeat-timeوrepeat-timeرا ببینید.-Nیک یادداشت به کلید ضمیمه میکند (که باlist-keys-Nنمایش داده میشود)، که میتوان آن را با ارسال یک رشته خالی پاک کرد. فلگهای-rو-Nمیتوانند بدون command برای تغییر یک اتصال موجود استفاده شوند.برای مشاهده نگاشتهای پیشفرض و دستورات ممکن، به دستور
list-keysمراجعه کنید. list-keys[-1aNr] [-Fformat] [-Osort-order] [-Pprefix-string] [-Tkey-table] [key]-
(alias:فهرست کردن کلیدهای مقیدشده.
lsk)-Fقالب هر خط را مشخص میکند. بخش قالبها (FORMATS) را ببینید.-Tیک key-table را برای فهرست کردن از آن مشخص میکند.-1تنها نخستین کلید منطبق را فهرست میکند.-Oترتیب مرتبسازی را مشخص میکند: یکی از ‘key’, ‘modifier’, ‘name’ (نام جدول).-rترتیب مرتبسازی را معکوس میکند.اگر هیچ format مشخص نشده باشد، دو حالت وجود دارد: حالت پیشفرض، کلیدها را به صورت دستورات
bind-keyفهرست میکند؛-Nتنها کلیدهای دارای یادداشت پیوستشده را فهرست کرده و برای هر کلید فقط کلید و یادداشت آن را نمایش میدهد.در حالت پیشفرض، تمام جدولهای کلید فهرست میشوند مگر اینکه جور دیگری مشخص شده باشد.
در حالت
-N, بهطور پیشفرض تنها کلیدهای موجود در جدولهای کلید root و prefix فهرست میشوند؛-Tنیز تنها کلیدهای موجود در key-table را فهرست میکند.-Pپیشوندی را برای چاپ پیش از هر کلید مشخص میکند.-aبه جای نادیده گرفتن کلیدهایی که یادداشت ندارند، دستور مربوط به آنها را فهرست میکند. send-keys[-FHKlMRX] [-ctarget-client] [-Nrepeat-count] [-ttarget-pane] [key ...]-
(alias:ارسال یک یا چند کلید به یک پنجره یا کلاینت. هر آرگومان key نام کلیدی است (مانند ‘
send)C-a’ یا ‘NPage’) که باید ارسال شود؛ اگر رشته به عنوان کلید شناخته نشود، به صورت دنبالهای از نویسهها ارسال میشود. اگر-Kمشخص شود، کلیدها به جای target-pane به target-client ارسال میشوند، بنابراین در جدول کلید کلاینت جستجو خواهند شد. تمام آرگومانها به ترتیب از اول به آخر ارسال میشوند. اگر هیچ کلیدی مشخص نشده باشد و دستور به یک کلید مقید شده باشد، همان کلید استفاده میشود.فلگ
-lجستجوی نام کلید را غیرفعال کرده و کلیدها را به عنوان نویسههای لفظی UTF-8 پردازش میکند. فلگ-Hانتظار دارد که هر کلید یک عدد شانزدهشانزدهی (هگزادسیمال) برای یک نویسه ASCII باشد.فلگ
-Rباعث بازنشانی وضعیت ترمینال میشود.-Mیک رویداد موشواره را عبور میدهد (تنها زمانی معتبر است که به یک نگاشت کلید موشواره مقید شده باشد، بخش پشتیبانی از موشواره (MOUSE SUPPORT) را ببینید).-Xبرای ارسال یک دستور به حالت رونوشت (copy mode) استفاده میشود - بخش پنجرهها و قابها (WINDOWS AND PANES) را ببینید.-Nیک تعداد تکرار را مشخص میکند و-Fدر صورت لزوم قالبها را در آرگومانها بسط میدهد. send-prefix[-2] [-ttarget-pane]- ارسال کلید
پیشوند، یا
با
-2کلید پیشوند ثانویه، به پنجره به گونهای که گویی فشرده شده است. unbind-key[-anq] [-Tkey-table] key-
(alias:لغو پیوند دستوری که به key مقید شده است.
unbind)-nو-Tمشابه باbind-keyهستند. اگر-aوجود داشته باشد، تمام نگاشتهای کلید حذف میشوند. گزینه-qاز بازگرداندن خطاها جلوگیری میکند.
گزینهها (OPTIONS)
ظاهر و
رفتار tmux
میتواند
با تغییر
مقدار
گزینههای
مختلف
تغییر کند.
هر گزینه به
یک یا چند
حوزه (server,
session, window, و
pane) تعلق
دارد و
دارای یک
نوع
(string,
number,
key, colour, flag,
choice, یا command)
است. مقادیر
گزینههای
نوع flag
میتواند
یکی از این
موارد باشد:
1, on,
yes, 0,
off, یا no;
برای
مقادیر
ممکن choice به
گزینه
مربوطه
مراجعه
کنید؛ برای
گزینههای
key به بخش
کلیدهای
مقیدشده (KEY BINDINGS)
و برای
گزینههای
colour به بخش
سبکها
(STYLES) مراجعه
نمایید.
سرور tmux
دارای
مجموعهای
از
گزینههای
سراسری
سرور است که
به هیچ
پنجره،
نشست یا قاب
خاصی اعمال
نمیشوند.
این موارد
با دستور
set-option -s
تغییر
مییابند،
یا با دستور
show-options -s
نمایش داده
میشوند.
علاوه بر
این، هر
نشست
بهطور
جداگانه
میتواند
مجموعهای
از
گزینههای
نشست داشته
باشد، و یک
مجموعه
جداگانه از
گزینههای
سراسری
نشست نیز
وجود دارد.
نشستهایی
که گزینه
خاصی برای
آنها
پیکربندی
نشده است،
مقدار را از
گزینههای
سراسری
نشست به ارث
میبرند.
گزینههای
نشست با
دستور set-option
تنظیم یا
لغو
میشوند و
با دستور
show-options قابل
فهرست شدن
هستند.
گزینههای
موجود سرور
و نشست در
ذیل دستور
set-option فهرست
شدهاند.
به همین ترتیب، مجموعهای از گزینههای پنجره به هر پنجره و مجموعهای از گزینههای قاب به هر قاب متصل است. گزینههای قاب از گزینههای پنجره ارثبری میکنند. این بدان معنی است که هر گزینه قاب میتواند به عنوان یک گزینه پنجره تنظیم شود تا به تمام قابهای موجود در پنجره که گزینه برای آنها تنظیم نشده است اعمال گردد، به عنوان مثال این دستورات رنگ پسزمینه را برای همه قابها به جز قاب 0 روی قرمز تنظیم میکنند:
set -w window-style bg=red set -pt:.0 window-style bg=blue
همچنین
مجموعهای
از
گزینههای
سراسری
پنجره وجود
دارد که هر
گزینه
تنظیمنشده
پنجره یا
قاب از آن
ارثبری
میشود.
گزینههای
پنجره و قاب
با دستورات
set-option -w و
-p تغییر
یافته و با
show-option -w و
-p نمایش
داده
میشوند.
tmux
همچنین از
گزینههای
کاربر که با
یک ‘@’
شروع
میشوند
پشتیبانی
میکند.
گزینههای
کاربر
میتوانند
هر نامی
داشته
باشند، تا
زمانی که با
‘@’
پیشوندگذاری
شده باشند،
و میتوان
آنها را
روی هر
رشتهای
تنظیم کرد.
برای مثال:
$ tmux set -wq @foo "abc123" $ tmux show -wv @foo abc123
گزینهها با این دستورات مدیریت میشوند:
set-option[-aFgopqsuUw] [-ttarget-pane] option [value]-
(alias:تنظیم یک گزینه قاب با
set)-p, یک گزینه پنجره با-w, یک گزینه سرور با-s, و در غیر این صورت یک گزینه نشست. اگر گزینه یک گزینه کاربر نباشد،-wیا-sممکن است غیرضروری باشد -tmuxحوزه را از روی نام گزینه استنتاج خواهد کرد و برای گزینههای قاب-wرا در نظر میگیرد. اگر-gمشخص شود، گزینه سراسری نشست یا پنجره تنظیم میشود.-Fقالبها را در مقدار گزینه بسط میدهد. فلگ-uیک گزینه را لغو تنظیم میکند، به طوری که نشست گزینه را از گزینههای سراسری به ارث میبرد (یا با-g, یک گزینه سراسری را به حالت پیشفرض بازمیگرداند).-Uیک گزینه را لغو تنظیم میکند (مانند-u) اما اگر گزینه یک گزینه قاب باشد، آن گزینه را در تمام قابهای موجود در پنجره نیز لغو تنظیم میکند. value به گزینه و نوع آن بستگی دارد و میتواند برای گزینههای پرچم (flag) و انتخابی (choice) حذف شود تا مقدار آن تغییر وضعیت دهد (گزینههای انتخابی بین دو انتخاب اول جابهجا میشوند).فلگ
-oاز تنظیم گزینهای که قبلاً تنظیم شده است جلوگیری میکند و فلگ-qخطاهای مربوط به گزینههای ناشناخته یا مبهم را نادیده میگیرد.با
-a, و در صورتی که گزینه انتظار یک رشته یا یک سبک را داشته باشد، value به تنظیمات موجود الحاق میشود. برای مثال:set -g status-left "foo" set -ag status-left "bar"
منجر به ‘
foobar’ خواهد شد. و:set -g status-style "bg=red" set -ag status-style "fg=blue"
منجر به پسزمینه قرمز و پیشزمینه آبی خواهد شد. بدون
-a, نتیجه پسزمینه پیشفرض و پیشزمینه آبی خواهد بود. show-options[-AgHpqsvw] [-ttarget-pane] [option]-
(alias:نمایش گزینههای قاب (یا یک گزینه منفرد در صورت ارائه option) با
show)-p, گزینههای پنجره با-w, گزینههای سرور با-s, و در غیر این صورت گزینههای نشست. اگر گزینه یک گزینه کاربر نباشد،-wیا-sممکن است غیرضروری باشد -tmuxحوزه را از روی نام گزینه استنتاج خواهد کرد و برای گزینههای قاب-wرا در نظر میگیرد. در صورت استفاده از-gگزینههای سراسری نشست یا پنجره فهرست میشوند.-vفقط مقدار گزینه را نمایش میدهد، نه نام آن را. اگر-qتنظیم شده باشد، در صورت تنظیمنشده بودن option هیچ خطایی بازگردانده نخواهد شد.-Hقلابها (hooks) را شامل میشود (بهطور پیشفرض حذف میشوند).-Aگزینههای به ارث رسیده از یک مجموعه والد از گزینهها را شامل میشود؛ چنین گزینههایی با علامت ستاره مشخص میشوند.
گزینههای سرور موجود عبارتند از:
backspacekey- کلیدی را که
توسط
tmuxبرای backspace فرستاده میشود تنظیم میکند. buffer-limitnumber- تعداد بافرها را تنظیم میکند؛ هنگامی که بافرهای جدید به بالای پشته اضافه میشوند، در صورت لزوم برای حفظ این حداکثر طول، بافرهای قدیمی از پایین حذف میشوند.
command-alias[]name=value- این
گزینهای
از نوع
آرایه برای
نامهای
مستعار
سفارشی
دستورات
است. اگر یک
دستور
ناشناخته
با name
مطابقت
داشته
باشد، با
value
جایگزین
میشود.
برای
نمونه، پس
از:
set -s command-alias[100] zoom='resize-pane -Z'استفاده از:
zoom -t:.1معادل است با:
resize-pane -Z -t:.1توجه داشته باشید که نامهای مستعار هنگام تجزیه دستور بسط داده میشوند نه هنگام اجرای آن، بنابراین مقید کردن یک نام مستعار با
bind-keyفرم بسطیافته را مقید خواهد کرد. codepoint-widths[]string- یک گزینه
آرایهای
که امکان
بازنویسی
عرض
کدپوینتهای
یونیکد را
فراهم
میکند.
توجه داشته
باشید که
عرض جدید بر
روی تمام
کلاینتها
اعمال
میشود. هر
مدخل به فرم
codepoint=width,
است، که در
آن codepoint
میتواند
یک نویسه UTF-8،
شناسهای
به فرم
‘
U+number’ (که در آن number یک عدد در مبنای شانزده است) یا محدودهای به فرم ‘U+number-U+number’ باشد. copy-commandshell-command- دستوری را
که باید
خروجی به آن
هدایت شود،
در صورتی که
دستور حالت
رونوشت
copy-pipeبدون آرگومان استفاده شود، مشخص میکند. default-client-commandcommand- دستور
پیشفرضی
را که باید
هنگام
فراخوانی tmux
بدون دستور
اجرا شود،
تنظیم
میکند.
پیشفرض
new-session. است. default-terminalterminal- ترمینال
پیشفرض را
برای
پنجرههای
جدید
ایجادشده
در این نشست
تنظیم
میکند -
مقدار
پیشفرض
متغیر
محیطی
TERMاست. برای اینکهtmuxبهدرستی کار کند، این گزینه باید روی ‘screen’, ‘tmux’ یا مشتقی از آنها تنظیم شده باشد. escape-timetime- مدت زمان بر
حسب
میلیثانیه
را که
tmuxپس از ورود یک escape منتظر میماند تا مشخص شود بخشی از دنباله کلیدهای تابعی یا meta است یا خیر، تنظیم میکند. editorshell-command- دستور مورد
استفاده را
زمانی که
tmuxیک ویرایشگر را اجرا میکند، تنظیم میکند. exit-empty[on|off]- در صورت فعال بودن (پیشفرض)، سرور هنگامی که هیچ نشست فعالی وجود نداشته باشد خارج خواهد شد.
exit-unattached[on|off]- در صورت فعال بودن، سرور هنگامی که هیچ کلاینت متصلی وجود نداشته باشد خارج خواهد شد.
extended-keys[on|off|always]- نحوه گزارش
کلیدهای
اصلاحشده
(کلیدهایی
که همراه با
Control، Meta یا Shift
فشرده
میشوند) را
کنترل
میکند. این
معادل منبع
modifyOtherKeysدر xterm(1) است.هنگامی که روی
on, تنظیم شود، برنامه درون قاب میتواند یکی از دو حالت را درخواست کند: حالت ۱ که دنباله را تنها برای کلیدهایی تغییر میدهد که فاقد نمایش شناختهشده موجود هستند؛ یا حالت ۲ که دنباله را برای تمام کلیدها تغییر میدهد. هنگامی که رویalways, تنظیم شود، حالتهای ۱ و ۲ همچنان میتوانند توسط برنامهها درخواست شوند، اما حالت ۱ به جای حالت استاندارد اجبار خواهد شد. هنگامی که رویoff, تنظیم شود، این ویژگی غیرفعال شده و تنها کلیدهای استاندارد گزارش میشوند.اگر ترمینال پشتیبانی کند،
tmuxهمیشه خودش کلیدهای توسعهیافته را درخواست خواهد کرد. همچنین ویژگیextkeysبرای گزینهterminal-features, گزینهextended-keys-formatو متغیرpane_key_modeرا ببینید. extended-keys-format[csi-u|xterm]- یکی از دو
قالب ممکن
را برای
گزارش
کلیدهای
اصلاحشده
به
برنامهها
انتخاب
میکند. این
معادل منبع
formatOtherKeysدر xterm(1) است. برای نمونه، C-S-a به صورت ‘^[[27;6;65~’ گزارش خواهد شد هنگامی که رویxterm, تنظیم شده باشد، و به صورت ‘^[[65;6u’ هنگامی که رویcsi-u. تنظیم شده باشد. focus-events[on|off]- در صورت
فعال بودن،
رویدادهای
فوکوس در
صورت
پشتیبانی
شدن از
ترمینال
درخواست
شده و به
برنامههای
در حال اجرا
در
tmux. منتقل میشوند. کلاینتهای متصل باید پس از تغییر این گزینه، جدا شده و دوباره متصل شوند. focus-follows-mouse[on|off]- در صورت
فعال بودن و
روشن بودن
mouseحرکت دادن ماوس به داخل یک قاب، آن را انتخاب میکند. get-clipboard[both|request|buffer|off]- رفتار
سیستم را
هنگامی که
برنامهای
کلیپبورد
را از
tmux. درخواست میکند، کنترل مینماید.اگر
off, باشد، درخواست نادیده گرفته میشود؛ اگرbuffer, باشد،tmuxبا جدیدترین بافر چسباندن (paste buffer) پاسخ میدهد؛requestباعث میشودtmuxکلیپبورد را از کلاینتی که اخیراً استفاده شده درخواست کند (در صورت امکان) و پاسخ را (در صورت وجود) به برنامه بازگرداند؛bothهمانندrequestاست اما یک بافر چسباندن نیز ایجاد میکند.همچنین گزینه
set-clipboardرا ببینید. history-filepath- اگر خالی
نباشد،
فایلی است
که
tmuxهنگام خروج، تاریخچه خط اعلان دستور را در آن مینویسد و در هنگام شروع از آن بارگذاری میکند. input-buffer-sizebytes- حداکثر بایتهای مجاز برای خواندن در دنبالههای escape و کنترل. پس از رسیدن به این حد، دنباله دور انداخته میشود.
message-limitnumber- تعداد پیامهای خطا یا اطلاعاتی را برای ذخیره در لاگ پیامهای هر کلاینت تنظیم میکند.
prompt-history-limitnumber- تعداد موارد تاریخچه را برای ذخیره در فایل تاریخچه برای هر نوع خط اعلان دستور تنظیم میکند.
set-clipboard[on|external|off]- تلاش
میکند
محتوای
کلیپبورد
ترمینال را
با استفاده
از دنباله escape
مربوط به
xterm(1)
تنظیم کند،
در صورتی که
یک مدخل Ms
در توصیف
terminfo(5)
وجود داشته
باشد (بخش
افزونههای
ترماینفو
(TERMINFO EXTENSIONS) را
ببینید).
اگر روی
on, تنظیم شود،tmuxهم دنباله escape را برای ایجاد بافر میپذیرد و هم برای تنظیم کلیپبورد ترمینال تلاش میکند. اگر رویexternal, تنظیم شود،tmuxبرای تنظیم کلیپبورد ترمینال تلاش میکند اما تلاشهای برنامهها را برای تنظیم بافرهایtmuxنادیده میگیرد. اگرoff, باشد،tmuxنه دنباله escape کلیپبورد را میپذیرد و نه برای تنظیم کلیپبورد تلاش میکند.توجه داشته باشید که این ویژگی باید در xterm(1) با تنظیم این منبع فعال شود:
disallowedWindowOps: 20,21,SetXprop
یا در صورت نیاز از طریق منوی تعاملی xterm(1) این ویژگی تغییر یابد.
terminal-features[]string- ویژگیهای
ترمینال را
برای انواع
ترمینال
خواندهشده
از terminfo(5).
تنظیم
میکند.
tmuxمجموعهای از ویژگیهای نامگذاریشده ترمینال را داراست. هر کدام تغییرات مناسب را در مدخل terminfo(5) مورد استفاده اعمال خواهد کرد.tmuxمیتواند ویژگیها را برای چند ترمینال رایج شناسایی کند؛ از این گزینه میتوان برای اطلاع دادن آسان به tmux در مورد ویژگیهای پشتیبانیشده توسط ترمینالهایی که خودش نمیتواند شناسایی کند استفاده کرد. گزینهterminal-overridesامکان تنظیم قابلیتهای فردی terminfo(5) را فراهم میکند؛ در حالی کهterminal-featuresبرای دستههایی از قابلیتها در نظر گرفته شده که به صورت استاندارد پشتیبانی میشوند اما توسط terminfo(5). گزارش نشدهاند. باید دقت شود که این مورد تنها با ویژگیهایی که ترمینال واقعاً از آنها پشتیبانی میکند پیکربندی شود.این یک گزینه آرایهای است که در آن هر مدخل یک رشته جداشده با دونقطه متشکل از یک الگوی نوع ترمینال (منطبق با الگوهای glob(7) ) و به دنبال آن فهرستی از ویژگیهای ترمینال است. ویژگیهای موجود عبارتند از:
- 256
- پشتیبانی از ۲۵۶ رنگ با دنبالههای escape مربوط به SGR.
- clipboard
- امکان تنظیم کلیپبورد سیستم را فراهم میکند.
- ccolour
- امکان تنظیم رنگ مکاننما را فراهم میکند.
- cstyle
- امکان تنظیم سبک مکاننما را فراهم میکند.
- extkeys
- پشتیبانی از کلیدهای توسعهیافته.
- focus
- پشتیبانی از گزارش فوکوس.
- hyperlinks
- پشتیبانی از ابرپیوندهای OSC 8.
- ignorefkeys
- کلیدهای
تابعی از
terminfo(5)
را نادیده
گرفته و
تنها از
مجموعه
داخلی
tmuxاستفاده میکند. - margins
- پشتیبانی از حاشیههای DECSLRM.
- mouse
- پشتیبانی از دنبالههای ماوس xterm(1).
- osc7
- پشتیبانی از افزونه دایرکتوری کاری OSC 7.
- overline
- پشتیبانی از صفت خطبالا (overline) در SGR.
- progressbar
- پشتیبانی از افزونه نوار پیشرفت OSC 9;4.
- rectfill
- پشتیبانی از دنباله escape پر کردن مستطیل DECFRA.
- RGB
- پشتیبانی از رنگ RGB با دنبالههای escape مربوط به SGR.
- sixel
- پشتیبانی از گرافیک SIXEL.
- strikethrough
- پشتیبانی از دنباله escape خطخوردگی (strikethrough) در SGR.
- sync
- پشتیبانی از بهروزرسانیهای همگامسازیشده.
- title
- پشتیبانی از تنظیم عنوان xterm(1).
- usstyle
- امکان تنظیم سبک و رنگ زیرخط را فراهم میکند.
terminal-overrides[]string- امکان
بازنویسی
توصیفهای
ترمینال
خواندهشده
با استفاده
از terminfo(5)
را فراهم
میکند. هر
مدخل یک
رشته
جداشده با
دونقطه
متشکل از یک
الگوی نوع
ترمینال
(منطبق با
الگوهای
glob(7) ) و
مجموعهای
از
مدخلهای
name=value
است.
برای نمونه، برای تنظیم مدخل ‘
clear’ در terminfo(5) به ‘\e[H\e[2J’ برای تمامی انواع ترمینال منطبق با ‘rxvt*’:rxvt*:clear=\e[H\e[2Jمقدار مدخل ترمینال پیش از تفسیر از strunvis(3) عبور داده میشود.
user-keys[]key- فهرستی از
دنبالههای
escape کلید
تعریفشده
توسط کاربر
را تنظیم
میکند. هر
مورد به
کلیدی به
نام ‘
User0’, ‘User1’, و غیره منتسب میشود.برای نمونه:
set -s user-keys[0] "\e[5;30012~" bind User0 resize-pane -L 3
variation-selector-always-wide[on|off]- همیشه انتخابگر تنوع یونیکد ۱۶ (Unicode variation selector 16) را به عنوان نشانهگذاری یک نویسه عریض در نظر میگیرد. این ویژگی برخی از ترمینالها به عنوان بخشی از پشتیبانی آنها از یونیکد ۱۴ است.
گزینههای در دسترس برای نشست عبارتند از:
activity-action[any|none|current|other]- تنظیم کنش
هنگام
فعالیت در
پنجره وقتی
که
monitor-activityروشن است.anyبدین معنی است که فعالیت در هر پنجرهٔ متصل به یک نشست باعث ایجاد زنگ یا پیام (بسته بهvisual-activity) در پنجرهٔ جاری آن نشست میشود،noneبدین معنی است که تمام فعالیتها نادیده گرفته میشوند (معادل خاموش بودنmonitor-activityاست)،currentبدین معنی است که فقط فعالیت در پنجرههایی غیر از پنجرهٔ جاری نادیده گرفته میشود وotherبدین معنی است که فعالیت در پنجرهٔ جاری نادیده گرفته میشود اما در پنجرههای دیگر نادیده گرفته نخواهد شد. assume-paste-timemilliseconds- اگر کلیدها
سریعتر از
یک کلید در
هر milliseconds
وارد شوند،
فرض میشود
که چسبانده
شدهاند (paste)
نه اینکه
تایپ شده
باشند، و
کلیدهای
میانبر
tmuxپردازش نمیشوند. مقدار پیشفرض یک میلیثانیه است و مقدار صفر آن را غیرفعال میکند. base-indexindex- تنظیم نمایهٔ پایهای که هنگام ایجاد یک پنجرهٔ جدید، جستجو برای یک نمایهٔ استفادهنشده از آن آغاز میشود. مقدار پیشفرض صفر است.
bell-action[any|none|current|other]- تنظیم کنش
هنگام
بهصدا
درآمدن زنگ
در یک پنجره
وقتی که
monitor-bellروشن است. مقادیر آن همانند مقادیرactivity-actionاست. default-commandshell-command- تنظیم
دستوری که
برای
پنجرههای
جدید (در
صورت عدم
تعیین
هنگام
ایجاد
پنجره)
استفاده
میشود به
shell-command که
میتواند
هر دستور
sh(1)
باشد.
پیشفرض یک
رشتهٔ خالی
است، که به
tmuxدستور میدهد با استفاده از مقدار گزینهٔdefault-shellیک پوستهٔ ورود ایجاد کند. default-shellpath- مشخص کردن
پوستهٔ
پیشفرض.
این مقدار
بهعنوان
پوستهٔ
ورود برای
پنجرههای
جدید
هنگامی که
گزینهٔ
default-commandروی خالی تنظیم شده است استفاده میشود، و باید مسیر کامل فایل اجرایی باشد. هنگام راهاندازی،tmuxتلاش میکند مقدار پیشفرض را از نخستین مورد مناسب میان متغیر محیطیSHELL، پوستهٔ ارائهشده توسط getpwuid(3) یا /bin/sh تنظیم کند. این گزینه باید زمانی پیکربندی شود کهtmuxبهعنوان یک پوستهٔ ورود استفاده میشود. default-sizeXxY- تنظیم
اندازهٔ
پیشفرض
پنجرههای
جدید
هنگامی که
گزینهٔ
window-sizeروی دستی (manual) تنظیم شده است یا زمانی که یک نشست باnew-session-dایجاد میشود. مقدار، پهنا و ارتفاع است که با یک نویسهٔ ‘x’ از یکدیگر جدا شدهاند. مقدار پیشفرض 80x24 است. destroy-unattached[off|on|keep-last|keep-group]- اگر
onباشد، نشست پس از جدا شدن آخرین کلاینت نابود میشود. اگرoffباشد (پیشفرض)، نشست بدون کلاینت باقی میماند. اگرkeep-lastباشد، نشست تنها در صورتی نابود میشود که در یک گروه باشد و نشستهای دیگری در آن گروه وجود داشته باشند. اگرkeep-groupباشد، نشست نابود میشود مگر اینکه در یک گروه باشد و تنها نشست در آن گروه باشد. detach-on-destroy[off|on|no-detached|previous|next]- اگر
onباشد (پیشفرض)، کلاینت هنگام نابود شدن نشستی که به آن متصل است، جدا میشود. اگرoffباشد، کلاینت به فعالترین نشست اخیر از میان نشستهای باقیمانده جابهجا میشود. اگرno-detachedباشد، کلاینت تنها در صورتی جدا میشود که هیچ نشست جداشدهای وجود نداشته باشد؛ اگر نشستهای جداشده وجود داشته باشند، کلاینت به فعالترین نشست اخیر منتقل میشود. اگرpreviousیاnextباشد، کلاینت به نشست قبلی یا بعدی بر اساس ترتیب الفبایی جابهجا میشود. display-panes-active-colourcolour- تنظیم رنگ
استفادهشده
توسط دستور
display-panesبرای نمایش نشانگر قاب فعال. display-panes-colourcolour- تنظیم رنگ
استفادهشده
توسط دستور
display-panesبرای نمایش نشانگرهای قابهای غیرفعال. display-panes-timetime- تنظیم
مدتزمان
بر حسب
میلیثانیه
برای نمایش
نشانگرهایی
که با دستور
display-panesظاهر میشوند. display-timetime- تنظیم مدتزمانی که پیامهای خط وضعیت و سایر نشانگرهای روی صفحه نمایش داده میشوند. اگر روی 0 تنظیم شود، پیامها و نشانگرها تا زمانی که کلیدی فشرده شود نمایش داده میشوند. time بر حسب میلیثانیه است.
history-limitlines- تنظیم حداکثر تعداد خطوط نگهداریشده در تاریخچهٔ قاب.
initial-repeat-timetime- تنظیم زمان
بر حسب
میلیثانیه
برای تکرار
اولیه
هنگامی که
یک کلید با
پرچم
-rبسته (bind) شده است. این امکان را فراهم میکند که چندین دستور بدون فشردن مجدد کلید پیشوند وارد شوند. همچنین گزینهٔrepeat-timeرا ببینید. اگرinitial-repeat-timeصفر باشد، ازrepeat-timeبرای نخستین فشردن کلید استفاده میشود. key-tablekey-table- تنظیم جدول کلید پیشفرض به key-table بهجای root.
lock-after-timenumber- قفل کردن
نشست (مشابه
دستور
lock-session) پس از number ثانیه عدم فعالیت. پیشفرض قفل نکردن است (روی 0 تنظیم شده است). lock-commandshell-command- دستوری که
هنگام قفل
کردن هر
کلاینت
اجرا
میشود.
پیشفرض،
اجرای
lock(1) با
-npاست. menu-stylestyle- تنظیم سبک منو. برای نحوهٔ تعیین style ، بخش سبکها (STYLES) را ببینید.
menu-selected-stylestyle- تنظیم سبک مورد انتخابشدهٔ منو. برای نحوهٔ تعیین style ، بخش سبکها (STYLES) را ببینید.
menu-border-stylestyle- تنظیم سبک کادر منو. برای نحوهٔ تعیین style ، بخش سبکها (STYLES) را ببینید.
menu-border-linestype- تنظیم نوع
نویسههای
استفادهشده
برای رسم
کادرهای
منو. برای
مقادیر
ممکن برای
border-lines ،
گزینهٔ
popup-border-linesرا ببینید. message-command-stylestyle- تنظیم سبک دستور پیام خط وضعیت. این مورد برای اعلان خط فرمان با کلیدهای vi(1) هنگام قرار داشتن در حالت فرمان استفاده میشود. برای نحوهٔ تعیین style ، بخش سبکها (STYLES) را ببینید.
message-formatstring- تنظیم
رشتهٔ قالب
برای اعلان
و ناحیهٔ
پیام. متغیر
جایگزین
ویژهٔ
‘
#{message}’ به متن اعلان تعاملی یا پیام گسترش مییابد و ‘#{command_prompt}’ هنگامی که اعلان در حالت فرمان (vi) است روی 1 تنظیم میشود. دستورالعملهای سبک مانندfill،alignوwidthمیتوانند در رشتهٔ قالب استفاده شوند. حالت پیشفرض از یک شرط برای انتخاب میانmessage-styleوmessage-command-styleاستفاده میکند. message-line[0|1|2|3|4]- تنظیم خطی که پیامهای خط وضعیت و اعلان خط فرمان در آن نمایش داده میشوند.
message-stylestyle- تنظیم سبک
پیام خط
وضعیت. این
گزینه برای
پیامها و
اعلان خط
فرمان
استفاده
میشود.
پیام روی خط
وضعیت
موجود رسم
میشود. یک
مشخصهٔ
width(تعداد ستونهای ثابت یا یک درصد مانند ‘50%’) عرض ناحیهٔ اعلان را محدود میکند و یک مشخصهٔalign(left,centre,right) موقعیت افقی آن را تنظیم میکند. هنگامی که عرض کمتر از عرض کامل ترمینال باشد، محتوای عادی نوار وضعیت در اطراف ناحیهٔ اعلان قابل مشاهده باقی میماند. مشخصهٔfillتوسطmessage-formatپیشفرض برای پاک کردن پسزمینه استفاده میشود. برای نحوهٔ تعیین style ، بخش سبکها (STYLES) را ببینید. mouse[on|off]- اگر روشن
باشد،
tmuxموشواره را در اختیار میگیرد و امکان تعریف رویدادهای موشواره بهعنوان کلیدهای میانبر را فراهم میکند. برای جزئیات بیشتر به بخش پشتیبانی از موشواره (MOUSE SUPPORT) مراجعه کنید. prefixkey- تنظیم
کلیدی که
بهعنوان
کلید
پیشوند
پذیرفته
میشود.
علاوه بر
کلیدهای
استاندارد
شرح داده
شده در
کلیدهای
میانبر (KEY BINDINGS)
،
prefixمیتواند روی کلید ویژهٔ ‘None’ تنظیم شود تا هیچ پیشوندی تعیین نشود. prefix2key- تنظیم کلید
ثانویهای
که
بهعنوان
کلید
پیشوند
پذیرفته
میشود.
مانند
prefix،prefix2نیز میتواند روی ‘None’ تنظیم شود. prefix-timeouttime- تنظیم مدت
زمان بر حسب
میلیثانیه
که پس از
وارد کردن
prefix،tmuxپیش از نادیده گرفتن آن منتظر میماند. برای غیرفعال کردن هرگونه محدودیت زمانی میتواند روی صفر تنظیم شود. prompt-cursor-colourcolour- تنظیم رنگ مکاننما در اعلان خط فرمان.
prompt-cursor-stylestyle- تنظیم سبک
مکاننما
در اعلان خط
فرمان. برای
سبکهای
موجود،
گزینههای
cursor-styleرا ببینید. prompt-command-cursor-stylestyle- تنظیم سبک
مکاننما
در اعلان خط
فرمان
زمانی که
کلیدهای vi
فعال هستند
و اعلان در
حالت فرمان
است. برای
سبکهای
موجود،
گزینههای
cursor-styleرا ببینید. renumber-windows[on|off]- اگر روشن
باشد،
هنگام بسته
شدن یک
پنجره در
نشست،
شمارهگذاری
سایر
پنجرهها
به صورت
خودکار به
ترتیب عددی
مجدداً
انجام
میشود. این
مورد در
صورت تنظیم
شدن گزینهٔ
base-indexاز آن پیروی میکند. اگر خاموش باشد، پنجرهها بازشماری نمیشوند. repeat-timetime- اجازه
میدهد
چندین
دستور بدون
فشردن مجدد
کلید
پیشوند در
مدتزمان
time
میلیثانیه
تعیینشده
وارد شوند
(پیشفرض 500
است).
قابلیت
تکرار کلید
را میتوان
هنگام
اتصال آن با
استفاده از
پرچم
-rبهbind-keyتعیین کرد. تکرار برای کلیدهای پیشفرض متصل به دستورresize-paneفعال است. همچنین گزینهٔinitial-repeat-timeرا ببینید. set-titles[on|off]- تلاش برای
تنظیم
عنوان
ترمینال
کلاینت با
استفاده از
مدخلهای
tsl و
fsl در
terminfo(5) در
صورت وجود.
اگر به نظر
برسد
ترمینال
xterm(1)
است،
tmuxبهطور خودکار این موارد را روی دنبالهٔ \e]0;...\007 تنظیم میکند. این گزینه بهطور پیشفرض خاموش است. set-titles-stringstring- رشتهٔ مورد
استفاده
برای تنظیم
عنوان
ترمینال
کلاینت در
صورتی که
set-titlesروشن باشد. قالبها گسترش مییابند، بخش قالبها (FORMATS) را ببینید. silence-action[any|none|current|other]- تنظیم کنش
هنگام سکوت
در پنجره
وقتی که
monitor-silenceروشن است. مقادیر آن همانند مقادیرactivity-actionاست. status[off|on|2|3|4|5]- نمایش یا
پنهان کردن
خط وضعیت یا
مشخص کردن
اندازهٔ آن.
استفاده از
onیک خط وضعیت به ارتفاع یک سطر میدهد؛2،3،4یا5سطرهای بیشتری فراهم میکند. status-format[]format- قالب مورد استفاده برای هر خط از خط وضعیت را مشخص میکند. حالت پیشفرض، خط وضعیت بالایی را از گزینههای مختلف وضعیت مجزا در زیر میسازد.
status-intervalinterval- خط وضعیت را هر interval ثانیه بهروزرسانی میکند. بهطور پیشفرض، بهروزرسانیها هر ۱۵ ثانیه رخ میدهند. تنظیم مقدار صفر، بازترسیم دورهای را غیرفعال میکند.
status-justify[left|centre|right|absolute-centre]- موقعیت فهرست پنجرهها در خط وضعیت را تنظیم میکند: left، centre یا right. مقدار centre فهرست پنجرهها را در مرکز نسبی فضای خالی موجود قرار میدهد؛ مقدار absolute-centre از مرکز کل فضای افقی استفاده میکند.
status-keys[vi|emacs]- استفاده از
کلیدهای
مقید به سبک
vi یا emacs در خط
وضعیت،
برای مثال
در خط اعلان
دستور.
پیشفرض emacs
است، مگر
اینکه
متغیرهای
محیطی
VISUALیاEDITORتنظیم شده باشند و حاوی رشته ‘vi’ باشند. status-leftstring- نمایش string
(بهطور
پیشفرض
نام نشست)
در سمت چپ
خط وضعیت.
string از
strftime(3)
عبور داده
خواهد شد.
همچنین
بخشهای
قالبها
(FORMATS) و
سبکها
(STYLES) را
ببینید.
برای جزئیات مربوط به نحوه تنظیم نامها و عنوانها، بخش نامها و عنوانها (NAMES AND TITLES) را ببینید.
مثالها:
#(sysctl vm.loadavg) #[fg=yellow,bold]#(apm -l)%%#[default] [#S]
مقدار پیشفرض ‘
[#S]’ است. status-left-lengthlength- حداکثر length بخش چپ خط وضعیت را تنظیم میکند. پیشفرض 10 است.
status-left-stylestyle- سبک بخش چپ خط وضعیت را تعیین میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
status-position[top|bottom]- موقعیت خط وضعیت را تنظیم میکند.
status-rightstring- نمایش string
در سمت راست
خط وضعیت.
بهطور
پیشفرض،
عنوان قاب
جاری درون
علامت
نقلقول
دوتایی،
تاریخ و
ساعت نمایش
داده
میشوند.
همانند
status-left, مقدار string به strftime(3) ارسال میشود و جفتهای نویسه جایگزین میگردند. status-right-lengthlength- حداکثر length بخش راست خط وضعیت را تنظیم میکند. پیشفرض 40 است.
status-right-stylestyle- سبک بخش راست خط وضعیت را تعیین میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
status-stylestyle- سبک خط وضعیت را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
update-environment[]variable- فهرستی از
متغیرهای
محیطی را
تعیین
میکند که
هنگام
ایجاد یک
نشست جدید
یا اتصال به
یک نشست
موجود، در
محیط نشست
کپی شوند.
هر متغیری
که در محیط
مبدأ وجود
نداشته
باشد به
گونهای
تنظیم
میشود که
از محیط
نشست حذف
گردد
(همانگونه
که گویی
گزینه
-rبه دستورset-environmentداده شده است). visual-activity[on|off|both]- در صورت
فعال بودن
(on)، هنگام
وقوع
فعالیت در
پنجرهای
که گزینه
پنجره
monitor-activityدر آن فعال است، به جای ارسال زنگ اعلان، یک پیام نمایش میدهد. اگر روی both تنظیم شود، هم زنگ اعلان و هم پیام ایجاد میشود. visual-bell[on|off|both]- در صورت
فعال بودن
(on)، هنگام به
صدا درآمدن
زنگ در
پنجرهای
که گزینه
پنجره
monitor-bellدر آن فعال است، به جای ارسال آن به ترمینال (که معمولاً صدا تولید میکند)، پیامی نمایش داده میشود. اگر روی both تنظیم شود، هم زنگ اعلان و هم پیام ایجاد میشود. همچنین گزینهbell-actionرا ببینید. visual-silence[on|off|both]- اگر
monitor-silenceفعال باشد، پس از سپری شدن بازه زمانی در پنجره مورد نظر، به جای ارسال زنگ اعلان، پیامی چاپ میکند. اگر روی both تنظیم شود، هم زنگ اعلان و هم پیام ایجاد میشود. word-separatorsstring- نویسههایی را که برای دستورات کلمه بعدی و قبلی در حالت رونوشت، جداکننده کلمه در نظر گرفته میشوند برای نشست تعیین میکند.
گزینههای پنجره موجود عبارتند از:
aggressive-resize[on|off]- تغییر
اندازه
تهاجمی
پنجره
انتخابشده.
این بدان
معناست که
tmuxپنجره را به اندازه کوچکترین یا بزرگترین نشستی که پنجره جاری آن است تغییر اندازه میدهد (گزینهwindow-sizeرا ببینید)، نه نشستی که به آن متصل است. هنگامی که پنجره جاری در نشست دیگری تغییر کند، ممکن است اندازه پنجره تغییر یابد؛ این گزینه برای برنامههای تمامصفحهای که ازSIGWINCHپشتیبانی میکنند مناسب و برای برنامههای تعاملی مانند پوستهها نامناسب است. automatic-rename[on|off]- کنترل
تغییر نام
خودکار
پنجره.
هنگامی که
این تنظیم
فعال باشد،
tmuxپنجره را بهطور خودکار با استفاده از قالب مشخصشده توسطautomatic-rename-formatتغییر نام میدهد. این فلگ زمانی که در هنگام ایجاد باnew-windowیاnew-session, یا بعداً باrename-window, یا توسط یک توالی گریز ترمینال نامی مشخص شود، بهطور خودکار برای آن پنجره غیرفعال میشود. میتوان آن را بهصورت سراسری با دستور زیر خاموش کرد:set-option -wg automatic-rename off
automatic-rename-formatformat- قالبی (بخش
قالبها
(FORMATS) را
ببینید) که
هنگام فعال
بودن گزینه
automatic-renameاستفاده میشود. clock-mode-colourcolour- رنگ ساعت را تنظیم میکند.
clock-mode-style[12|24|12-with-seconds|24-with-seconds]- قالب نمایش ساعت را تعیین میکند.
fill-charactercharacter- نویسه مورد استفاده برای پر کردن بخشهایی از ترمینال که توسط پنجره استفاده نشده است را تنظیم میکند.
main-pane-heightheightmain-pane-widthwidth- عرض یا
ارتفاع قاب
اصلی (چپ یا
بالا) را در
چیدمانهای
main-horizontal,main-horizontal-mirrored,main-verticalیاmain-vertical-mirroredتنظیم میکند. اگر پسوند ‘%’ داشته باشد، درصدی از اندازه پنجره خواهد بود. copy-mode-match-stylestyle- سبک نتایج منطبق جستجو در حالت رونوشت را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
copy-mode-mark-stylestyle- سبک خط حاوی نشانهگذاری در حالت رونوشت را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
copy-mode-current-match-stylestyle- سبک نتیجه تطابق فعلی جستجو در حالت رونوشت را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
copy-mode-position-formatformat- قالب نشانگر موقعیت در حالت رونوشت.
copy-mode-position-stylestyle- سبک نشانگر موقعیت در حالت رونوشت را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
copy-mode-selection-stylestyle- سبک ناحیه انتخاب در حالت رونوشت را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
copy-mode-current-line-number-stylestyle- سبک شماره خط جاری در حالت رونوشت را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
copy-mode-line-number-stylestyle- سبک شماره خطوط در حالت رونوشت را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
copy-mode-line-numbers[off|default|absolute|relative|hybrid]- نمایش
شماره خطوط
در حالت
رونوشت.
مقدار
offشماره خطوط را پنهان میکند،defaultشماره خطوط منطبق با نشانگر موقعیت در حالت رونوشت وgoto-lineرا نشان میدهد،absoluteشماره خطوط مطلق را نشان میدهد،relativeشماره خطوط را نسبت به مکاننما نشان میدهد، وhybridشماره خط جاری را به صورت مطلق و سایر شماره خطوط را به صورت نسبی نشان میدهد. باoffیاdefault, نشانگر موقعیت وgoto-lineاز همان شمارهگذاری استفاده میکنند؛ باabsolute,relativeوhybrid, آنها از شماره خطوط مطلق استفاده میکنند. mode-keys[vi|emacs]- استفاده از
کلیدهای
مقید به سبک
vi یا emacs در
حالت
رونوشت.
پیشفرض emacs
است، مگر
اینکه
VISUALیاEDITORحاوی ‘vi’ باشند. mode-stylestyle- سبک حالتهای پنجره را تنظیم میکند. برای نحوه مشخص کردن style, بخش سبکها (STYLES) را ببینید.
monitor-activity[on|off]- نظارت بر فعالیت در پنجره. پنجرههای دارای فعالیت در خط وضعیت برجسته میشوند.
monitor-bell[on|off]- نظارت بر زنگ اعلان در پنجره. پنجرههایی که در آنها زنگ به صدا درآمده است در خط وضعیت برجسته میشوند.
monitor-silence[interval]- نظارت بر
سکوت (عدم
فعالیت) در
پنجره در
مدت
intervalثانیه. پنجرههایی که در این بازه زمانی ساکت بودهاند در خط وضعیت برجسته میشوند. بازه زمانی صفر، نظارت را غیرفعال میکند. other-pane-heightheight- ارتفاع
سایر
قابها (به
غیر از قاب
اصلی) را در
چیدمانهای
main-horizontalوmain-horizontal-mirroredتنظیم میکند. اگر این گزینه روی 0 (پیشفرض) تنظیم شود، هیچ تاثیری نخواهد داشت. اگر هر دو گزینهmain-pane-heightوother-pane-heightتنظیم شده باشند، قاب اصلی بلندتر میشود تا سایر قابها به ارتفاع مشخصشده برسند، اما هرگز برای انجام این کار کوتاه نخواهد شد. اگر پسوند ‘%’ داشته باشد، درصدی از اندازه پنجره خواهد بود. other-pane-widthwidth- همانند
other-pane-height, اما عرض سایر قابها را در چینشهایmain-verticalوmain-vertical-mirroredتنظیم میکند. pane-active-border-stylestyle- سبک کادر قاب را برای قاب فعال فعلی تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید. ویژگیها نادیده گرفته میشوند.
pane-base-indexindex- همانند
base-index, اما نمایه آغازین شمارههای قاب را تنظیم میکند. pane-border-formatformat- متن نشاندادهشده در خطوط وضعیت کادر قاب را تنظیم میکند.
pane-border-indicators[off|colour|arrows|both]- نشان دادن قاب فعال با رنگآمیزی تنها نیمی از کادر در پنجرههایی با دقیقاً دو قاب، با نمایش نشانگرهای پیکان، با رسم هر دو یا هیچکدام.
pane-border-linestype- نوع
نویسههای
استفادهشده
برای رسم
کادرهای
قاب را
تنظیم
میکند.
type
میتواند
یکی از
موارد زیر
باشد:
- single
- خطوط تکی با استفاده از نویسههای ACS یا UTF-8
- double
- خطوط دوتایی با استفاده از نویسههای UTF-8
- heavy
- خطوط ضخیم با استفاده از نویسههای UTF-8
- simple
- نویسههای ساده ASCII
- number
- شماره قاب
- spaces
- نویسههای فاصله
‘
double’ و ‘heavy’ در صورتی که UTF-8 پشتیبانی نشود، به رسم خط استاندارد ACS بازمیگردند. pane-border-status[off|top|bottom]- خطوط وضعیت کادر قاب را خاموش میکند یا موقعیت آنها را تنظیم مینماید.
pane-border-stylestyle- سبک کادر قاب را برای قابهایی غیر از قاب فعال تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید. ویژگیها نادیده گرفته میشوند.
popup-stylestyle- سبک پنجره بازشو را تنظیم میکند. برای نحوه مشخص کردن style بخش STYLES را ببینید. ویژگیها نادیده گرفته میشوند.
popup-border-stylestyle- سبک کادر پنجره بازشو را تنظیم میکند. برای نحوه مشخص کردن style بخش STYLES را ببینید. ویژگیها نادیده گرفته میشوند.
popup-border-linestype- نوع
نویسههای
استفادهشده
برای رسم
کادرهای
پنجره
بازشو را
تنظیم
میکند.
type
میتواند
یکی از
موارد زیر
باشد:
- single
- خطوط تکی با استفاده از نویسههای ACS یا UTF-8 (پیشفرض)
- rounded
- گونهای از single با گوشههای گرد با استفاده از نویسههای UTF-8
- double
- خطوط دوتایی با استفاده از نویسههای UTF-8
- heavy
- خطوط ضخیم با استفاده از نویسههای UTF-8
- simple
- نویسههای ساده ASCII
- padded
- نویسه فاصله ساده ASCII
- none
- بدون کادر
‘
double’ و ‘heavy’ در صورتی که UTF-8 پشتیبانی نشود، به رسم خط استاندارد ACS بازمیگردند. pane-scrollbars[off|modal|on]- هنگام فعال
بودن، یک
نوار
پیمایش
مبتنی بر
نویسه در
سمت چپ یا
راست هر قاب
ظاهر
میشود. یک
بخش پرشده
از نوار
پیمایش که
با عنوان
‘
slider’ شناخته میشود، موقعیت و اندازه بخش قابل مشاهده از محتوای قاب را نشان میدهد.اگر روی
onتنظیم شود، نوار پیمایش در تمام مدت قابل مشاهده است. اگر رویmodalتنظیم شود، نوار پیمایش تنها زمانی ظاهر میشود که قاب در حالت رونوشت یا حالت مشاهده باشد. هنگامی که نوار پیمایش قابل مشاهده است، قاب به اندازه عرض نوار پیمایش باریکتر میشود و متن درون قاب بازآرایی میگردد. اگر رویmodal, تنظیم شود، قاب تنها زمانی باریکتر میشود که نوار پیمایش قابل مشاهده باشد.همچنین
pane-scrollbars-styleرا ببینید. pane-scrollbars-stylestyle- سبک نوارهای پیمایش را تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید. رنگ پیشزمینه برای slider و رنگ پسزمینه برای سایر قسمتهای نوار پیمایش استفاده میشود. ویژگی width عرض نوار پیمایش و ویژگی pad فاصله درونی میان نوار پیمایش و قاب را تنظیم میکند. سایر ویژگیها نادیده گرفته میشوند.
pane-scrollbars-position[left|right]- تنظیم میکند که نوارهای پیمایش قاب در کدام سمت قاب نمایش داده شوند.
pane-status-current-stylestyle- سبک خط وضعیت را برای قاب فعال فعلی تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
pane-status-stylestyle- سبک خط وضعیت را برای یک قاب منفرد تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
session-status-current-stylestyle- سبک خط وضعیت را برای نشست فعال فعلی تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
session-status-stylestyle- سبک خط وضعیت را برای یک نشست منفرد تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
tiled-layout-max-columnsnumber- حداکثر
تعداد
ستونها را
در چینش
tiledتنظیم میکند. مقدار 0 (پیشفرض) به معنای بدون محدودیت است. هنگامی که محدودیتی تعیین شود، قابها طوری چیده میشوند که از این تعداد ستون فراتر نروند و قابهای اضافی در سطرهای بیشتری روی هم چیده شوند. tree-mode-preview-formatformat- قالب نشانگر پیشنمایش در حالت درختی.
tree-mode-preview-stylestyle- سبک نشانگر پیشنمایش در حالت درختی را تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
window-status-activity-stylestyle- سبک خط وضعیت را برای پنجرههای دارای هشدار فعالیت تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
window-status-bell-stylestyle- سبک خط وضعیت را برای پنجرههای دارای هشدار زنگ تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
window-status-current-formatstring- همانند window-status-format, اما قالبی است که هنگام جاری بودن پنجره استفاده میشود.
window-status-current-stylestyle- سبک خط وضعیت را برای پنجره فعال فعلی تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
window-status-formatstring- قالبی را تنظیم میکند که پنجره در فهرست پنجرههای خط وضعیت با آن نمایش داده میشود. بخشهای FORMATS و STYLES را ببینید.
window-status-last-stylestyle- سبک خط وضعیت را برای آخرین پنجره فعال تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
window-status-separatorstring- جداکنندهای را تنظیم میکند که میان پنجرهها در خط وضعیت رسم میشود. مقدار پیشفرض یک نویسه فاصله است.
window-status-stylestyle- سبک خط وضعیت را برای یک پنجره منفرد تنظیم میکند. برای نحوه مشخص کردن style, بخش STYLES را ببینید.
window-sizelargest | smallest | manual | latest- نحوه تعیین
اندازه
پنجره توسط
tmuxرا پیکربندی میکند. اگر روی largest تنظیم شود، اندازه بزرگترین نشست متصل استفاده میشود؛ اگر smallest, اندازه کوچکترین. اگر manual, اندازه یک پنجره جدید از گزینهdefault-sizeتنظیم میشود و اندازه پنجرهها به صورت خودکار تغییر میکند. با latest, دستورtmuxاز اندازه کلاینتی استفاده میکند که جدیدترین فعالیت را داشته است. همچنین دستورresize-windowو گزینهaggressive-resizeرا ببینید. wrap-search[on|off]- اگر این گزینه تنظیم شود، جستجوها با رسیدن به انتهای محتوای قاب دور میزنند. پیشفرض on است.
گزینههای قاب موجود عبارتند از:
allow-passthrough[on|off|all]- به
برنامههای
درون قاب
اجازه
میدهد تا
با استفاده
از دنباله
گریز
ترمینال (\ePtmux;...\e\\)
tmuxرا دور بزنند. اگر رویonتنظیم شود، دنبالههای عبور مستقیم تنها در صورتی مجاز خواهند بود که قاب قابل مشاهده باشد. اگر رویallتنظیم شود، حتی در صورت نامرئی بودن قاب نیز مجاز خواهند بود. allow-rename[on|off]- به برنامههای درون قاب اجازه میدهد تا نام پنجره را با استفاده از یک دنباله گریز ترمینال (\ek...\e\\) تغییر دهند.
allow-set-title[on|off]- به برنامههای درون قاب اجازه میدهد تا عنوان را با استفاده از دنبالههای گریز ترمینال (\e]2;...\e\\ یا \e]0;...\e\\) تغییر دهند.
alternate-screen[on|off]- این گزینه پیکربندی میکند که آیا برنامههای در حال اجرا در داخل قاب میتوانند از ویژگی صفحه جایگزین ترمینال استفاده کنند یا خیر، که قابلیتهای smcup و rmcup در terminfo(5) را ممکن میسازد. ویژگی صفحه جایگزین محتویات پنجره را هنگام شروع یک برنامه تعاملی حفظ کرده و هنگام خروج آن را بازیابی میکند، به طوری که هر خروجی قابل مشاهده پیش از شروع برنامه، پس از خروج آن بدون تغییر دوباره ظاهر میشود.
cursor-colourcolour- رنگ مکاننما را تنظیم میکند.
cursor-stylestyle- سبک
مکاننما
را تنظیم
میکند.
سبکهای
موجود
عبارتند از:
default,blinking-block,block,blinking-underline,underline,blinking-bar,bar. pane-colours[]colour- پالت رنگ
پیشفرض. هر
درایه در
آرایه،
رنگی را
مشخص
میکند که
tmuxهنگام درخواست رنگ با آن نمایه استفاده میکند. نمایه میتواند از صفر تا 255 باشد. remain-on-exit[on|off|failed|key]- قابی با این
فلگ فعال،
پس از خروج
برنامهای
که درون آن
اجرا
میشود
نابود
نمیشود.
اگر روی
failedتنظیم شود، تنها زمانی که وضعیت خروج برنامه غیرصفر باشد. اگر رویkeyتنظیم شود، قاب باز میماند و هنگام فشردن یک کلید بسته میشود. قاب را میتوان با دستورrespawn-paneمجدداً فعال کرد. remain-on-exit-formatstring- تنظیم متنی
که هنگام
فعال بودن
remain-on-exitدر پایین قابهای خارجشده نمایش داده میشود. scroll-on-clear[on|off]- هنگامی که کل صفحه پاک میشود و این گزینه فعال است، پیش از پاک کردن صفحه، محتویات آن را به تاریخچه پیمایش میکند.
synchronize-panes[on|off]- تکرار و ارسال ورودی به تمام قابهای دیگر در همان پنجره که این گزینه در آنها نیز روشن است (تنها برای قابهایی که در هیچ حالتی قرار ندارند).
window-active-stylestyle- تنظیم سبک قاب هنگامی که قاب فعال است. برای چگونگی تعیین style, بخش سبکها (STYLES) را ببینید.
window-stylestyle- تنظیم سبک قاب. برای چگونگی تعیین style, بخش سبکها (STYLES) را ببینید.
window-pane-status-formatstring- تنظیم قالبی که قاب پنجره طبق آن در فهرست قابهای پنجره در خط وضعیت نمایش داده میشود. بخشهای قالبها (FORMATS) و سبکها (STYLES) را ببینید.
window-pane-current-status-formatstring- همانند window-status-format, اما قالبی است که وقتی پنجره، پنجره جاری باشد استفاده میشود.
قلابها (HOOKS)
tmux
امکان
اجرای
دستورها بر
اساس
محرکهای
گوناگون را
فراهم
میکند که
قلابها
نامیده
میشوند.
بیشتر
دستورهای
tmux دارای
یک قلاب
after
هستند و
تعدادی
قلاب نیز
وجود دارند
که با هیچ
دستوری
مرتبط
نیستند.
قلابها
به عنوان
گزینههای
آرایهای
ذخیره
میشوند و
با فعال شدن
قلاب،
اعضای
آرایه به
ترتیب اجرا
میگردند.
مانند
گزینهها،
قلابهای
مختلف
میتوانند
سراسری
باشند یا به
یک نشست،
پنجره یا
قاب تعلق
داشته
باشند.
قلابها را
میتوان با
دستورهای
set-hook یا
set-option
پیکربندی
کرد و با
show-hooks یا
show-options -H
نمایش داد.
دو دستور
زیر معادل
یکدیگرند:
set-hook -g pane-mode-changed[42] 'set -g status-left-style bg=red' set-option -g pane-mode-changed[42] 'set -g status-left-style bg=red'
تنظیم یک قلاب بدون مشخص کردن نمایه آرایه، قلاب را پاک کرده و نخستین عضو آرایه را تنظیم میکند.
قلاب after یک
دستور پس از
تکمیل آن
اجرا
میشود،
مگر زمانی
که خود
دستور به
عنوان بخشی
از یک قلاب
اجرا شده
باشد.
نامگذاری
آنها با
پیشوند
‘after-’
انجام
میشود.
برای
نمونه،
دستور زیر
قلابی
اضافه
میکند تا
پس از هر
split-window
طرحبندی
even-vertical انتخاب
شود:
set-hook -g after-split-window "selectl even-vertical"
اگر
دستوری با
شکست مواجه
شود، قلاب
‘command-error’
فعال خواهد
شد. برای
نمونه،
میتوان از
این مورد
برای نوشتن
در یک فایل
لاگ
استفاده
کرد:
set-hook -g command-error "run-shell \"echo 'a tmux command failed' >>/tmp/log\""
تمام
اعلانهای
فهرستشده
در بخش
حالت
کنترل (CONTROL MODE) به
جز %exit
قلاب هستند
(بدون هیچ
آرگومانی).
قلابهای
اضافی زیر
در دسترس
هستند:
- alert-activity
- هنگام وجود
فعالیت در
یک پنجره
اجرا
میشود.
monitor-activityرا ببینید. - alert-bell
- هنگامی که
یک پنجره
زنگ (bell)
دریافت کند
اجرا
میشود.
monitor-bellرا ببینید. - alert-silence
- هنگامی که
یک پنجره
ساکت بوده
باشد اجرا
میشود.
monitor-silenceرا ببینید. - client-active
- هنگامی که یک کلاینت به جدیدترین کلاینت فعال نشست خود تبدیل شود اجرا میشود.
- client-attached
- هنگام متصل شدن یک کلاینت اجرا میشود.
- client-detached
- هنگام جدا شدن یک کلاینت اجرا میشود.
- client-focus-in
- هنگام ورود تمرکز به یک کلاینت اجرا میشود.
- client-focus-out
- هنگام خروج تمرکز از یک کلاینت اجرا میشود.
- client-resized
- هنگام تغییر اندازه یک کلاینت اجرا میشود.
- client-session-changed
- هنگامی که نشست متصلشده به یک کلاینت تغییر کند اجرا میشود.
- client-light-theme
- هنگامی که یک کلاینت به تم روشن جابهجا شود اجرا میشود.
- client-dark-theme
- هنگامی که یک کلاینت به تم تیره جابهجا شود اجرا میشود.
- command-error
- هنگام شکست یک دستور اجرا میشود.
- pane-died
- هنگامی که
برنامه در
حال اجرا
درون یک قاب
خارج شود،
اما
remain-on-exitروشن باشد و در نتیجه قاب بسته نشده باشد، اجرا میشود. - pane-exited
- هنگامی که برنامه در حال اجرا درون یک قاب خارج شود اجرا میشود.
- pane-focus-in
- هنگام ورود
تمرکز به یک
قاب اجرا
میشود، در
صورتی که
گزینه
focus-eventsروشن باشد. - pane-focus-out
- هنگام خروج
تمرکز از یک
قاب اجرا
میشود، در
صورتی که
گزینه
focus-eventsروشن باشد. - pane-set-clipboard
- هنگامی که تختهگیره پایانه با استفاده از توالی گریز xterm(1) تنظیم شود اجرا میشود.
- session-created
- هنگام ایجاد یک نشست جدید اجرا میشود.
- session-closed
- هنگام بسته شدن یک نشست اجرا میشود.
- session-renamed
- هنگام تغییر نام یک نشست اجرا میشود.
- window-layout-changed
- هنگام تغییر طرحبندی یک پنجره اجرا میشود.
- window-linked
- هنگامی که یک پنجره به یک نشست پیوند داده شود اجرا میشود.
- window-renamed
- هنگام تغییر نام یک پنجره اجرا میشود.
- window-resized
- هنگام تغییر اندازه یک پنجره اجرا میشود. این ممکن است پس از اجرای قلاب client-resized باشد.
- window-unlinked
- هنگامی که پیوند یک پنجره از یک نشست برداشته شود اجرا میشود.
قلابها با این دستورها مدیریت میشوند:
set-hook[-agpRuw] [-ttarget-pane] hook-name [command]- بدون
-R, قلاب hook-name را به command تنظیم میکند (یا با-uآن را لغو مینماید). فلگها مشابه دستورset-optionهستند.همراه با
-R, قلاب hook-name را بیدرنگ اجرا میکند. show-hooks[-gpw] [-ttarget-pane] [hook]- نمایش
قلابها.
فلگها
مشابه
دستور
show-optionsهستند.
پشتیبانی از ماوس (MOUSE SUPPORT)
اگر گزینه
mouse روشن
باشد
(پیشفرض
خاموش است)،
tmux اجازه
میدهد
رویدادهای
ماوس به
عنوان
کلیدها
مقید شوند.
نام هر کلید
از یک
رویداد
ماوس (مانند
‘MouseUp1’) و یک
پسوند
مکان، شامل
یکی از
موارد زیر
تشکیل
میشود:
Pane |
محتویات یک قاب |
Border |
حاشیه قاب |
Status |
فهرست پنجره در خط وضعیت |
StatusLeft |
بخش چپ خط وضعیت |
StatusRight |
بخش راست خط وضعیت |
StatusDefault |
هر بخش دیگر خط وضعیت |
ScrollbarSlider |
لغزنده نوار پیمایش |
ScrollbarUp |
بالای لغزنده نوار پیمایش |
ScrollbarDown |
پایین لغزنده نوار پیمایش |
ControlN |
روی محدوده کنترلی N |
برای اطلاعات در مورد محدودههای کنترلی، بخش سبکها (STYLES) را ببینید.
رویدادهای ماوس زیر در دسترس هستند:
WheelUp |
WheelDown | ||
MouseDown1 |
MouseUp1 | MouseDrag1 | MouseDragEnd1 |
MouseDown2 |
MouseUp2 | MouseDrag2 | MouseDragEnd2 |
MouseDown3 |
MouseUp3 | MouseDrag3 | MouseDragEnd3 |
SecondClick1 |
SecondClick2 | SecondClick3 | |
DoubleClick1 |
DoubleClick2 | DoubleClick3 | |
TripleClick1 |
TripleClick2 | TripleClick3 |
رویدادهای
‘SecondClick’
برای دومین
کلیک از یک
دوبارکلیک
فعال
میشوند،
حتی اگر
کلیک سومی
نیز وجود
داشته باشد
که به جای
‘DoubleClick’
باعث اجرای
‘TripleClick’
شود.
هر یک باید
با یک مکان
پسونددهی
شوند، برای
نمونه
‘MouseDown1Status’.
نشانه
ویژه
‘{mouse}’ یا
‘=’
میتواند
به عنوان
target-window یا
target-pane در
دستورهای
مقیدشده به
کلیدهای
ماوس
استفاده
شود. این
نشانه به
پنجره یا
قابی اشاره
میکند که
رویداد
ماوس روی آن
رخ داده است
(برای
نمونه،
پنجرهای
در خط وضعیت
که کلید ۱
روی آن رها
شده است
برای قید
‘MouseUp1Status’, یا
قابی که چرخ
ماوس روی آن
پیمایش شده
است برای
قید
‘WheelDownPane’).
فلگ -M
از دستور
send-keys
میتواند
برای هدایت
یک رویداد
ماوس به یک
قاب
استفاده
شود.
کلیدهای
مقید
پیشفرض
اجازه
میدهند از
ماوس برای
انتخاب و
تغییر
اندازه
قابها،
کپی متن و
تغییر
پنجره با
استفاده از
خط وضعیت
استفاده
شود. این
تنظیمات
زمانی
اعمال
میشوند که
گزینه mouse
روشن باشد.
قالبها (FORMATS)
برخی
دستورها
فلگ -F را
همراه با
آرگومان
format
میپذیرند.
این یک رشته
است که قالب
خروجی
دستور را
کنترل
میکند.
متغیرهای
قالب در
‘#{’ و
‘}’
محصور
میشوند،
برای نمونه
‘#{session_name}’.
متغیرهای
ممکن در
جدول زیر
فهرست
شدهاند،
یا میتوان
از نام یک
گزینه tmux
برای مقدار
آن گزینه،
یا نام یک
متغیر
محیطی
استفاده
کرد. برخی
متغیرها
نام مستعار
کوتاهتری
دارند
مانند
‘#S’;
‘##’ با یک
‘#’ تکی،
‘#,’ با یک
‘,’ و
‘#}’ با یک
‘}’
جایگزین
میشود.
شرطها با
افزودن
پیشوند
‘?’ در
دسترس
هستند. برای
هر جفت از دو
آرگومان،
اگر متغیر
در آرگومان
نخست جفت
وجود داشته
باشد و صفر
نباشد،
آرگومان
دوم جفت
انتخاب
میشود، در
غیر این
صورت ادامه
مییابد.
اگر هیچ
شرطی از
آرگومانهای
جفتشده
مطابقت
نداشته
باشد،
مقدار
پیشفرض
انتخاب
میشود. اگر
یک آرگومان
نهایی
جفتنشده
وجود داشته
باشد، آن
مقدار
پیشفرض
خواهد بود.
در غیر این
صورت،
مقدار
پیشفرض
رشته خالی
است. برای
نمونه
‘#{?session_attached,attached,not
attached}’ در
صورتی که
نشست متصل
باشد شامل
رشته
‘attached’ و در
صورتی که
متصل نباشد
شامل رشته
‘not attached’
خواهد بود،
یا
‘#{?automatic-rename,yes,no}’
در صورت
فعال بودن
automatic-rename شامل
‘yes’ و در
غیر این
صورت شامل
‘no’
خواهد بود.
‘#{?#{n:window_name},#{window_name} -
}’ اگر نام
پنجره وجود
داشته
باشد، نام
پنجره را
همراه با یک
جداکننده
خط تیره
شامل
میشود، یا
اگر نام
پنجره خالی
باشد، رشته
خالی را
قرار
میدهد.
‘#{?session_format,format1,window_format,format2,format3}’
شامل format1 برای
قالب نشست،
format2 برای قالب
پنجره، یا format3
برای حالتی
خواهد بود
که نه قالب
نشست باشد و
نه پنجره.
شرطها را
میتوان به
صورت
دلخواه تو
در تو قرار
داد. درون یک
شرط، ‘,’
و ‘}’
باید به
صورت ‘#,’
و ‘#}’
اسکیپ
شوند، مگر
اینکه
بخشی از یک
جایگزینی
‘#{...}’
باشند. برای
نمونه:
#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W
مقایسههای
رشتهای را
میتوان با
قرار دادن
پیشوند
‘==’,
‘!=’,
‘<’,
‘>’,
‘<=’ یا
‘>=’ و یک
دونقطه قبل
از دو گزینه
جداشده با
کاما بیان
کرد. برای
نمونه
‘#{==:#{host},myhost}’
در صورت
اجرا روی
‘myhost’ با
‘1’ و در
غیر این
صورت با
‘0’
جایگزین
خواهد شد.
‘||’ و
‘&&’ در
صورتی که هر
یک یا همه
گزینههای
جداشده با
کاما درست
باشند
مقدار درست
را
برمیگردانند،
برای نمونه
‘#{||:#{pane_in_mode},#{alternate_on}}’.
‘!’ در
صورتی که
مقدار
نادرست
باشد به
درست و
بالعکس
ارزیابی
میشود،
برای نمونه
‘#{!:#{pane_in_mode}}’.
‘!!’ یک
مقدار را به
حالت بولی
استاندارد
تبدیل
میکند، 1
برای درست و 0
برای
نادرست،
برای نمونه
‘#{!!:non-empty string}’
به 1 ارزیابی
میشود.
یک ‘m’
مقایسهای
بر اساس
الگوی
glob(7) یا
عبارت
باقاعده را
مشخص
میکند.
آرگومان
نخست الگو و
آرگومان
دوم رشته
مورد
مقایسه است.
یک آرگومان
اختیاری
پرچمها را
مشخص
میکند:
‘r’ به
این معنی
است که الگو
به جای
الگوی
پیشفرض
glob(7) یک
عبارت
باقاعده
است، و
‘i’ به
معنای
نادیده
گرفتن
بزرگی و
کوچکی حروف
است. برای
نمونه:
‘#{m:*foo*,#{host}}’ یا
‘#{m/ri:^A,MYVAR}’. یک
‘C’
جستجویی
برای الگوی
glob(7) یا
عبارت
باقاعده را
در محتوای
قاب انجام
میدهد و در
صورت پیدا
نشدن به
صفر، یا در
صورت پیدا
شدن به
شماره خط
ارزیابی
میشود.
همانند
‘m’, یک
پرچم ‘r’
به معنای
جستجو برای
یک عبارت
باقاعده
است و ‘i’
بزرگی و
کوچکی حروف
را نادیده
میگیرد.
برای نمونه:
‘#{C/r:^Start}’
عملگرهای
عددی را
میتوان با
قرار دادن
پیشوند
‘e’ و یک
عملگر قبل
از دو گزینه
جداشده با
کاما اجرا
کرد. یک پرچم
اختیاری
‘f’
میتواند
پس از عملگر
داده شود تا
از اعداد
ممیز شناور
استفاده
شود، در غیر
این صورت از
اعداد صحیح
استفاده
میشود. این
میتواند
با عددی
همراه شود
که تعداد
ارقام
اعشار برای
نتیجه را
مشخص
میکند.
عملگرهای
موجود
عبارتند از:
جمع ‘+’,
تفریق
‘-’, ضرب
‘*’,
تقسیم
‘/’,
باقیمانده
تقسیم (مدول)
‘m’ یا
‘%’ (توجه
داشته
باشید که
‘%’ باید
در
قالبهایی
که توسط
strftime(3)
نیز بسط
مییابند
بهصورت
‘%%’
اسکیپ شود) و
عملگرهای
مقایسه
عددی ‘==’,
‘!=’,
‘<’,
‘<=’,
‘>’ و
‘>=’.
برای
نمونه،
‘#{e|*|f|4:5.5,3}’
مقدار 5.5 را
در 3 ضرب
میکند تا
نتیجهای
با چهار رقم
اعشار به
دست آید و
‘#{e|%%:7,3}’
باقیمانده
تقسیم 7 بر 3
را
برمیگرداند.
‘a’ یک
آرگومان
عددی را با
معادل ASCII آن
جایگزین
میکند،
بنابراین
‘#{a:98}’
نتیجه
‘b’ را
خواهد داد.
‘c’ یک
رنگ tmux را
با مقدار
هگزادسیمال
ششرقمی RGB
آن جایگزین
میکند.
میتوان
با افزودن
پیشوند
‘=’, یک
عدد و یک
دونقطه،
محدودیتی
برای طول
رشته حاصل
تعیین کرد.
اعداد مثبت
از ابتدای
رشته و
اعداد منفی
از انتهای
آن شمارش
میشوند،
بنابراین
‘#{=5:pane_title}’
حداکثر
شامل پنج
نویسه نخست
از عنوان
قاب خواهد
بود، یا
‘#{=-5:pane_title}’
پنج نویسه
آخر. یک
پسوند یا
پیشوند
میتواند
به عنوان
آرگومان
دوم ارائه
شود - در صورت
ارائه، اگر
طول رشته
کوتاه شده
باشد به آن
افزوده یا
الصاق
میگردد،
برای نمونه
‘#{=/5/...:pane_title}’
در صورتی که
عنوان قاب
بیش از پنج
نویسه
باشد،
‘...’ را
اضافه
خواهد کرد.
به همین
ترتیب،
‘p’ رشته
را تا عرض
مشخصشده
با فاصله پر
میکند،
برای نمونه
‘#{p10:pane_title}’
منجر به
عرضی با
حداقل 10
نویسه
خواهد شد.
عرض مثبت در
سمت چپ و عرض
منفی در سمت
راست فاصله
میاندازد.
‘n’ به
طول متغیر و
‘w’ به
عرض آن در
هنگام
نمایش بسط
مییابد،
برای نمونه
‘#{n:window_name}’.
‘R’
آرگومان
نخست را به
تعداد
دفعات
مشخصشده
در آرگومان
دوم تکرار
میکند،
بنابراین
‘#{R:a,3}’
نتیجه
‘aaa’
خواهد داد.
قرار دادن
پیشوند
‘t:’ قبل
از یک متغیر
زمانی آن را
به یک رشته
تبدیل
میکند،
بنابراین
اگر
‘#{window_activity}’
مقدار
‘1445765102’ را
بدهد،
‘#{t:window_activity}’
مقدار ‘Sun Oct 25
09:25:02 2015’ را
خواهد داد.
افزودن ‘p
(’ ‘`t/p`’)
از قالب
زمانی
کوتاهتر
اما با دقت
کمتر برای
زمانهای
گذشته
استفاده
خواهد کرد.
یک قالب
سفارشی
میتواند
با استفاده
از پسوند
‘f’ مشخص
شود (توجه
داشته
باشید که
اگر قالب
بهصورت
جداگانه از
strftime(3)
عبور داده
میشود،
برای نمونه
در گزینه
status-left,
‘%’ باید
بهصورت
‘%%’
اسکیپ شود):
‘#{t/f/%%H#:%%M:window_activity}’,
ببینید
strftime(3).
پیشوندهای
‘b:’ و
‘d:’ به
ترتیب
معادل
basename(3) و
dirname(3)
متغیر
هستند.
‘q:’
نویسههای
ویژه sh(1)
را اسکیپ
میکند؛
همراه با
پسوند
‘h’,
نویسههای
هش را اسکیپ
میکند (به
طوری که
‘#’
تبدیل به
‘##’
میشود)؛ یا
با ‘a’
آرگومانهای
دستور tmux
را اسکیپ
میکند.
‘E:’ قالب
را دو بار
بسط
میدهد،
برای نمونه
‘#{E:status-left}’
نتیجه بسط
محتوای
گزینه status-left
است، نه خود
گزینه.
‘T:’
مانند
‘E:’ است
اما
مشخصکنندههای
strftime(3) را
نیز بسط
میدهد.
‘S:’,
‘W:’,
‘P:’ یا
‘L:’ روی
هر نشست،
پنجره، قاب
یا کلاینت
حلقه زده و
قالب را یک
بار برای هر
کدام درج
میکنند.
‘L:’,
‘S:’ و
‘W:’
میتوانند
یک آرگومان
مرتبسازی
اختیاری
‘/i’,
‘/n’,
‘/t’ برای
مرتبسازی
بر اساس
نمایه،
نام، یا
زمان آخرین
فعالیت
دریافت
کنند؛
علاوه بر
این ‘/r’
برای
مرتبسازی
با ترتیب
معکوس به
کار میرود.
‘/r’
همچنین
میتواند
با ‘P:’
برای معکوس
کردن ترتیب
مرتبسازی
بر اساس
نمایه قاب
استفاده
شود. برای
نمونه،
‘S/nr:’
برای
مرتبسازی
نشستها بر
اساس نام با
ترتیب
معکوس به
کار میرود.
برای هر یک،
دو قالب
جداشده با
کاما
میتواند
ارائه شود:
دومی برای
پنجره
جاری، قاب
فعال، یا
نشست فعال
استفاده
میشود.
برای
نمونه، جهت
دریافت
فهرستی از
پنجرهها
با قالبی
شبیه به خط
وضعیت:
#{W:#{E:window-status-format} ,#{E:window-status-current-format} }
درون حلقه
‘W:’,
گزینههای
کاربر
(‘@name’) از
پنجرههای
همسایه با
پیشوند
‘next_’ یا
‘prev_’ در
دسترس
هستند،
برای نمونه
گزینه
کاربری
‘@color’ در
پنجره بعدی
بهصورت
‘next_@color’ در
دسترس است.
‘N:’
بررسی
میکند که
آیا نام یک
پنجره (بدون
هیچ پسوندی
یا با پسوند
‘w’) یا یک
نشست (با
پسوند
‘s’) وجود
دارد یا
خیر، برای
نمونه
‘`N/w:foo`’ در
صورت وجود
داشتن
پنجرهای
با نام
‘foo’ با 1
جایگزین
میشود.
پیشوندی
به شکل
‘s/foo/bar/:’ در
تمام متن
‘foo’ را
با ‘bar’
جایگزین
میکند.
آرگومان
نخست
میتواند
یک عبارت
باقاعده
گسترشیافته
باشد و
آرگومان
پایانی
میتواند
‘i’ برای
نادیده
گرفتن
بزرگی و
کوچکی حروف
باشد، برای
نمونه
‘s/a(.)/\1x/i:’
مقدار
‘abABab’ را
به ‘bxBxbx’
تغییر
میدهد.
همچنین
میتوان از
یک نویسه
جداکننده
متفاوت
استفاده
کرد تا از
تداخل با
اسلشهای
صریح در
الگو
جلوگیری
شود. برای
نمونه،
‘s|foo/|bar/|:’ در
تمام متن
‘foo/’ را
با ‘bar/’
جایگزین
خواهد کرد.
چندین
تغییردهنده
میتوانند
با یک نقطه
ویرگول (;) از
یکدیگر جدا
شوند مانند
‘#{T;=10:status-left}’,
که رشته
حاصل
بسطیافته
با strftime(3)
را به
حداکثر 10
نویسه
محدود
میکند.
علاوه بر
این، آخرین
خط از خروجی
یک دستور شل
میتواند
با استفاده
از ‘#()’
درج شود.
برای
نمونه،
‘#(uptime)’ مدت
زمان روشن
بودن سیستم
(uptime) را درج
میکند.
هنگام ساخت
قالبها،
tmux منتظر
اتمام
دستورات
‘#()’
نمیماند؛
در عوض،
نتیجه قبلی
حاصل از
اجرای همان
دستور
استفاده
میشود، یا
در صورتی که
دستور پیش
از این اجرا
نشده باشد
از یک مقدار
پیشنگهدار
استفاده
خواهد شد.
اگر دستور
هنوز خارج
نشده باشد،
جدیدترین
خط خروجی
استفاده
میشود،
اما خط
وضعیت بیش
از یک بار در
هر ثانیه
بهروزرسانی
نخواهد شد.
دستورات با
استفاده از
/bin/sh و با
تنظیم محیط
سراسری
tmux اجرا
میشوند
(بخش
محیط
سراسری و
نشست (GLOBAL AND SESSION ENVIRONMENT)
را ببینید).
یک ‘l’
مشخص
میکند که
یک رشته
باید
بهصورت
تحتاللفظی
تفسیر شده و
بسط نیابد.
برای نمونه
‘#{l:#{?pane_in_mode,yes,no}}’
با
‘#{?pane_in_mode,yes,no}’
جایگزین
خواهد شد.
متغیرهای زیر در صورت لزوم در دسترس هستند:
| نام متغیر | نام مستعار | جایگزین با |
active_window_index |
نمایه پنجره فعال در نشست | |
alternate_on |
1 اگر قاب در صفحه جایگزین باشد | |
alternate_saved_x |
موقعیت افقی (X) ذخیرهشده مکاننما در صفحه جایگزین | |
alternate_saved_y |
موقعیت عمودی (Y) ذخیرهشده مکاننما در صفحه جایگزین | |
bracket_paste_flag |
پرچم الصاق درون قلاب قاب | |
buffer_created |
زمان ایجاد بافر | |
buffer_full |
محتوای کامل بافر | |
buffer_name |
نام بافر | |
buffer_sample |
نمونهای از ابتدای بافر | |
buffer_size |
اندازه بافر مشخصشده بر حسب بایت | |
client_activity |
زمان آخرین فعالیت کلاینت | |
client_cell_height |
ارتفاع هر سلول کلاینت به پیکسل | |
client_cell_width |
عرض هر سلول کلاینت به پیکسل | |
client_control_mode |
1 اگر کلاینت در حالت کنترل باشد | |
client_created |
زمان ایجاد کلاینت | |
client_discarded |
بایتهای دور ریختهشده هنگامی که کلاینت عقب میافتد | |
client_flags |
فهرست پرچمهای کلاینت | |
client_height |
ارتفاع کلاینت | |
client_key_table |
جدول کلید فعلی | |
client_last_session |
نام آخرین نشست کلاینت | |
client_name |
نام کلاینت | |
client_pid |
PID فرآیند کلاینت | |
client_prefix |
1 اگر کلید پیشوند فشرده شده باشد | |
client_readonly |
1 اگر کلاینت فقطخواندنی باشد | |
client_session |
نام نشست کلاینت | |
client_termfeatures |
ویژگیهای ترمینال کلاینت، در صورت وجود | |
client_termname |
نام ترمینال کلاینت | |
client_termtype |
نوع ترمینال کلاینت، در صورت در دسترس بودن | |
client_tty |
شبهترمینال کلاینت | |
client_uid |
UID فرآیند کلاینت | |
client_user |
کاربر فرآیند کلاینت | |
client_utf8 |
1 اگر کلاینت از UTF-8 پشتیبانی کند | |
client_width |
عرض کلاینت | |
client_written |
بایتهای نوشتهشده در کلاینت | |
command |
نام دستور در حال استفاده، در صورت وجود | |
command_list_alias |
نام مستعار دستور در صورت فهرست کردن دستورات | |
command_list_name |
نام دستور در صورت فهرست کردن دستورات | |
command_list_usage |
نحوه استفاده از دستور در صورت فهرست کردن دستورات | |
config_files |
فهرست فایلهای پیکربندی بارگذاریشده | |
cursor_blinking |
1 اگر مکاننما در حال چشمک زدن باشد | |
copy_cursor_hyperlink |
ابَرپیوند زیر مکاننما در حالت رونوشت | |
copy_cursor_line |
خطی که مکاننما روی آن قرار دارد در حالت رونوشت | |
copy_cursor_word |
کلمه زیر مکاننما در حالت رونوشت | |
copy_cursor_x |
موقعیت افقی (X) مکاننما در حالت رونوشت | |
copy_cursor_y |
موقعیت عمودی (Y) مکاننما در حالت رونوشت | |
copy_position |
موقعیت نشان دادهشده در نشانگر حالت رونوشت | |
copy_position_limit |
حد نشان دادهشده در نشانگر حالت رونوشت | |
current_file |
فایل پیکربندی فعلی | |
cursor_character |
نویسه موجود در مکاننما در پانل | |
cursor_colour |
رنگ مکاننما در پانل | |
cursor_flag |
پرچم مکاننمای پانل | |
cursor_shape |
شکل مکاننما در پانل | |
cursor_very_visible |
1 اگر مکاننما در حالت بسیار نمایان باشد | |
cursor_x |
موقعیت افقی (X) مکاننما در پانل | |
cursor_y |
موقعیت عمودی (Y) مکاننما در پانل | |
history_bytes |
تعداد بایتهای موجود در تاریخچه پنجره | |
history_limit |
حداکثر خطوط تاریخچه پنجره | |
history_size |
اندازه تاریخچه بر حسب خطوط | |
hook |
نام قلاب در حال اجرا، در صورت وجود | |
hook_client |
نام کلاینتی که قلاب در آن اجرا شد، در صورت وجود | |
hook_pane |
شناسه پانلی که قلاب در آن اجرا شد، در صورت وجود | |
hook_session |
شناسه نشستی که قلاب در آن اجرا شد، در صورت وجود | |
hook_session_name |
نام نشستی که قلاب در آن اجرا شد، در صورت وجود | |
hook_window |
شناسه پنجرهای که قلاب در آن اجرا شد، در صورت وجود | |
hook_window_name |
نام پنجرهای که قلاب در آن اجرا شد، در صورت وجود | |
host |
#H | نام میزبان (hostname) میزبان محلی |
host_short |
#h | نام میزبان محلی (بدون نام دامنه) |
insert_flag |
پرچم درج (insert) پانل | |
key_string |
نمایش رشتهای انتساب کلید | |
key_repeat |
1 اگر انتساب کلید قابل تکرار باشد | |
key_note |
یادداشت مربوط به انتساب کلید | |
key_prefix |
پیشوند کلید سراسری | |
key_table |
نام جدول انتساب کلید | |
key_command |
دستور انتساب کلید | |
key_has_repeat |
1 اگر فهرست شامل کلید قابل تکرار باشد | |
key_string_width |
حداکثر عرض key_string در فهرست | |
key_table_width |
حداکثر عرض key_table در فهرست | |
keypad_cursor_flag |
پرچم مکاننمای صفحه کلید عددی پانل | |
keypad_flag |
پرچم صفحه کلید عددی پانل | |
last_window_index |
نمایه آخرین پنجره در نشست | |
line |
شماره خط در فهرست | |
loop_last_flag |
1 اگر آخرین پنجره، پانل، نشست یا کلاینت در حلقه W:، P:، S: یا L: باشد | |
mouse_all_flag |
پرچم ردیابی همه رویدادهای ماوس در پانل | |
mouse_any_flag |
پرچم ردیابی هر رویداد ماوس در پانل | |
mouse_button_flag |
پرچم دکمه ماوس در پانل | |
mouse_hyperlink |
ابَرپیوند زیر ماوس، در صورت وجود | |
mouse_line |
خط زیر ماوس، در صورت وجود | |
mouse_sgr_flag |
پرچم ماوس SGR در پانل | |
mouse_standard_flag |
پرچم ماوس استاندارد در پانل | |
mouse_status_line |
خط وضعیتی که رویداد ماوس در آن رخ داده است | |
mouse_status_range |
نوع محدوده یا آرگومان رویداد ماوس در خط وضعیت | |
mouse_utf8_flag |
پرچم ماوس UTF-8 در پانل | |
mouse_word |
کلمه زیر ماوس، در صورت وجود | |
mouse_x |
موقعیت افقی (X) ماوس، در صورت وجود | |
mouse_y |
موقعیت عمودی (Y) ماوس، در صورت وجود | |
next_session_id |
شناسه یکتای نشست برای نشست جدید بعدی | |
next_window_active |
1 اگر پنجره بعدی در حلقه W: فعال باشد | |
next_window_index |
نمایه پنجره بعدی در حلقه W: | |
origin_flag |
پرچم مبدا (origin) پانل | |
pane_active |
1 اگر پانل فعال باشد | |
pane_at_bottom |
1 اگر پانل در پایین پنجره باشد | |
pane_at_left |
1 اگر پانل در سمت چپ پنجره باشد | |
pane_at_right |
1 اگر پانل در سمت راست پنجره باشد | |
pane_at_top |
1 اگر پانل در بالای پنجره باشد | |
pane_bg |
رنگ پسزمینه پانل | |
pane_bottom |
موقعیت لبه پایینی پانل | |
pane_current_command |
دستور فعلی در صورت در دسترس بودن | |
pane_current_path |
مسیر فعلی در صورت در دسترس بودن | |
pane_dead |
1 اگر پانل غیرفعال باشد | |
pane_dead_signal |
سیگنال خروج فرآیند در پانل غیرفعال | |
pane_dead_status |
وضعیت خروج فرآیند در پانل غیرفعال | |
pane_dead_time |
زمان خروج فرآیند در پانل غیرفعال | |
pane_fg |
رنگ پیشزمینه پانل | |
pane_flags |
پرچمهای پانل | |
pane_floating_flag |
1 اگر پانل شناور باشد | |
pane_format |
1 اگر قالب برای یک پانل باشد | |
pane_height |
ارتفاع پانل | |
pane_id |
#D | شناسه یکتای پانل |
pane_in_mode |
تعداد حالتهایی که پانل در آن قرار دارد | |
pane_index |
#P | نمایه پانل |
pane_input_off |
1 اگر ورودی به پانل غیرفعال باشد | |
pane_key_mode |
حالت گزارشدهی کلید گسترشیافته در این پانل | |
pane_last |
1 اگر آخرین پانل باشد | |
pane_left |
موقعیت لبه چپ پانل | |
pane_marked |
1 اگر این پانل نشانهگذاریشده باشد | |
pane_marked_set |
1 اگر یک پانل نشانهگذاریشده تنظیم شده باشد | |
pane_mode |
نام حالت پانل، در صورت وجود | |
pane_path |
مسیر پانل (توسط برنامه قابل تنظیم است) | |
pane_pid |
PID اولین فرآیند در پانل | |
pane_pipe |
1 اگر پانل در حال لولهکشی باشد | |
pane_pipe_pid |
PID فرآیند لوله، در صورت وجود | |
pane_pb_state |
وضعیت نوار پیشرفت پانل، یکی از موارد hidden، normal، error، indeterminate، paused (توسط برنامه قابل تنظیم است) | |
pane_pb_progress |
درصد پیشرفت نوار پیشرفت پانل (توسط برنامه قابل تنظیم است) | |
pane_right |
موقعیت لبه راست پانل | |
pane_search_string |
آخرین رشته جستجو در حالت رونوشت | |
pane_start_command |
دستوری که پانل با آن شروع به کار کرد | |
pane_start_path |
مسیری که پانل با آن شروع به کار کرد | |
pane_synchronized |
1 اگر پانل همگامسازی شده باشد | |
pane_tabs |
موقعیتهای برگه پانل | |
pane_title |
#T | عنوان پانل (توسط برنامه قابل تنظیم است) |
pane_top |
موقعیت لبه بالایی پانل | |
pane_tty |
شبهترمینال پانل | |
pane_unseen_changes |
1 اگر تغییراتی در پانل حین حضور در حالت رخ داده باشد | |
pane_width |
عرض پانل | |
pane_x |
موقعیت افقی (X) پانل | |
pane_y |
موقعیت عمودی (Y) پانل | |
pane_z |
موقعیت عمق (Z) پانل | |
pane_zoomed_flag |
1 اگر پانل بزرگنمایی شده باشد | |
pid |
PID سرور | |
prev_window_active |
1 اگر پنجره قبلی در حلقه W: فعال باشد | |
prev_window_index |
نمایه پنجره قبلی در حلقه W: | |
rectangle_toggle |
1 اگر انتخاب مستطیلی فعال باشد | |
scroll_position |
موقعیت پیمایش در حالت رونوشت | |
scroll_region_lower |
پایین ناحیه پیمایش در پانل | |
scroll_region_upper |
بالای ناحیه پیمایش در پانل | |
search_count |
تعداد نتایج جستجو | |
search_count_partial |
1 اگر تعداد جستجو شمارش جزئی باشد | |
search_match |
تطابق جستجو در صورت وجود | |
search_present |
1 اگر جستجو در حالت رونوشت آغاز شده باشد | |
selection_active |
1 اگر انتخاب آغاز شده و با مکاننما در حالت رونوشت تغییر کند | |
selection_end_x |
موقعیت افقی (X) انتهای انتخاب | |
selection_end_y |
موقعیت عمودی (Y) انتهای انتخاب | |
selection_mode |
حالت انتخاب | |
selection_present |
1 اگر انتخاب در حالت رونوشت آغاز شده باشد | |
selection_start_x |
موقعیت افقی (X) ابتدای انتخاب | |
selection_start_y |
موقعیت عمودی (Y) ابتدای انتخاب | |
server_sessions |
تعداد نشستها | |
session_active |
1 اگر نشست فعال باشد | |
session_activity |
زمان آخرین فعالیت نشست | |
session_activity_flag |
1 اگر هر پنجرهای در نشست دارای فعالیت باشد | |
session_alerts |
فهرست نمایههای پنجره دارای هشدار | |
session_attached |
تعداد کلاینتهایی که نشست به آنها متصل است | |
session_attached_list |
فهرست کلاینتهایی که نشست به آنها متصل است | |
session_bell_flag |
1 اگر هر پنجرهای در نشست دارای زنگ باشد | |
session_created |
زمان ایجاد نشست | |
session_format |
1 اگر قالب برای یک نشست باشد | |
session_group |
نام گروه نشست | |
session_group_attached |
تعداد کلاینتهایی که نشستهای درون گروه به آنها متصل هستند | |
session_group_attached_list |
فهرست کلاینتهایی که نشستهای درون گروه به آنها متصل هستند | |
session_group_list |
فهرست نشستهای موجود در گروه | |
session_group_many_attached |
1 اگر چندین کلاینت به نشستهای گروه متصل باشند | |
session_group_size |
اندازه گروه نشست | |
session_grouped |
1 اگر نشست در یک گروه باشد | |
session_id |
شناسه یکتای نشست | |
session_last_attached |
زمان آخرین اتصال نشست | |
session_many_attached |
1 اگر چندین کلاینت متصل باشند | |
session_marked |
1 اگر این نشست شامل پانل نشانهگذاریشده باشد | |
session_name |
#S | نام نشست |
session_path |
دایرکتوری کاری نشست | |
session_silence_flag |
1 اگر هر پنجرهای در نشست دارای هشدار سکوت باشد | |
session_stack |
نمایههای پنجره به ترتیب جدیدترین | |
session_windows |
تعداد پنجرهها در نشست | |
socket_path |
مسیر سوکت سرور | |
sixel_support |
1 اگر سرور از SIXEL پشتیبانی کند | |
start_time |
زمان شروع به کار سرور | |
synchronized_output_flag |
1 اگر خروجی همگامسازیشده در پانل فعال باشد | |
uid |
UID سرور | |
user |
کاربر سرور | |
version |
نسخه سرور | |
window_active |
1 اگر پنجره فعال باشد | |
window_active_clients |
تعداد کلاینتهای در حال مشاهده این پنجره | |
window_active_clients_list |
فهرست کلاینتهای در حال مشاهده این پنجره | |
window_active_sessions |
تعداد نشستهایی که این پنجره در آنها فعال است | |
window_active_sessions_list |
فهرست نشستهایی که این پنجره در آنها فعال است | |
window_activity |
زمان آخرین فعالیت پنجره | |
window_activity_flag |
1 اگر پنجره دارای فعالیت باشد | |
window_bell_flag |
1 اگر پنجره دارای زنگ باشد | |
window_bigger |
1 اگر پنجره بزرگتر از کلاینت باشد | |
window_cell_height |
ارتفاع هر سلول به پیکسل | |
window_cell_width |
عرض هر سلول به پیکسل | |
window_end_flag |
1 اگر پنجره دارای بالاترین نمایه باشد | |
window_flags |
#F | پرچمهای پنجره همراه با گریز کاراکتر # بهصورت ## |
window_format |
1 اگر قالب برای یک پنجره باشد | |
window_height |
ارتفاع پنجره | |
window_id |
شناسه یکتای پنجره | |
window_index |
#I | نمایه پنجره |
window_last_flag |
1 اگر پنجره آخرین مورد استفادهشده باشد | |
window_layout |
توضیحات چیدمان پنجره، بدون در نظر گرفتن پانلهای بزرگنماییشده | |
window_linked |
1 اگر پنجره در میان چند نشست پیوند داده شده باشد | |
window_linked_sessions |
تعداد نشستهایی که این پنجره به آنها پیوند داده شده است | |
window_linked_sessions_list |
فهرست نشستهایی که این پنجره به آنها پیوند داده شده است | |
window_marked_flag |
1 اگر پنجره شامل پانل نشانهگذاریشده باشد | |
window_name |
#W | نام پنجره |
window_offset_x |
آفست افقی (X) در پنجره در صورتی که بزرگتر از کلاینت باشد | |
window_offset_y |
آفست عمودی (Y) در پنجره در صورتی که بزرگتر از کلاینت باشد | |
window_panes |
تعداد پانلها در پنجره | |
window_raw_flags |
پرچمهای پنجره بدون هیچ گریز کاراکتری | |
window_silence_flag |
1 اگر پنجره دارای هشدار سکوت باشد | |
window_stack_index |
نمایه در پشته جدیدترینهای نشست | |
window_start_flag |
1 اگر پنجره دارای کمترین نمایه باشد | |
window_visible_layout |
توضیحات چیدمان پنجره، با در نظر گرفتن پانلهای بزرگنماییشده | |
window_width |
عرض پنجره | |
window_zoomed_flag |
1 اگر پنجره بزرگنمایی شده باشد | |
wrap_flag |
پرچم سطرشکنی پانل |
سبکها (STYLES)
tmux
گزینههای
گوناگونی
را برای
مشخص کردن
رنگ و
مشخصههای
بخشهای
مختلف رابط
کاربری
ارائه
میدهد،
برای نمونه
status-style برای
خط وضعیت.
افزون بر
این،
سبکهای
تعبیهشده
را میتوان
در
گزینههای
قالب مانند
status-left, با
قرار دادن
آنها در
میان ‘#[’
و ‘]’
مشخص کرد.
یک سبک
میتواند
عبارت تکی
‘default’
برای مشخص
کردن سبک
پیشفرض
باشد (که
ممکن است از
یک گزینه
گرفته شود،
برای نمونه
status-style در خط
وضعیت) یا
فهرستی از
موارد زیر
که با فاصله
یا ویرگول
از هم جدا
شدهاند:
fg=colour- رنگ
پیشزمینه
را تنظیم
میکند. رنگ
یکی از
موارد زیر
است:
black,red,green,yellow,blue,magenta,cyan,white; در صورت پشتیبانی، گونههای روشنbrightblack,brightred, ...;colour0تاcolour255از مجموعه ۲۵۶ رنگ؛defaultبرای رنگ پیشفرض؛terminalبرای رنگ پیشفرض ترمینال؛ یا یک رشته هگزادسیمال RGB مانند ‘#ffffff’. bg=colour- رنگ پسزمینه را تنظیم میکند.
us=colour- رنگ خط زیرین را تنظیم میکند.
none- هیچ مشخصهای را تنظیم نمیکند (خاموش کردن تمام مشخصههای فعال).
acs,bright(یاbold),dim,underscore,blink,reverse,hidden,italics,overline,strikethrough,double-underscore,curly-underscore,dotted-underscore,dashed-underscore- یک مشخصه را
تنظیم
میکند. هر
یک از این
مشخصهها
میتوانند
با پیشوند
‘
no’ برای غیرفعالسازی همراه شوند.acsمجموعه نویسههای جایگزین ترمینال است. align=left(یاnoalign),align=centre,align=right- متن را در صورت لزوم به چپ، مرکز یا راست فضای در دسترس تراز میکند.
fill=colour- فضای در دسترس را در صورت لزوم با یک رنگ پسزمینه پر میکند.
width=N- عرض ناحیه
دارای سبک
را تنظیم
میکند. N
میتواند
تعداد ستون
یا درصد
(برای نمونه
‘
50%’) باشد. list=on,list=focus,list=left-marker,list=right-marker,nolist- موقعیت
اجزای
گوناگون
فهرست
پنجره را در
گزینه
status-formatمشخص میکند:list=onشروع فهرست را مشخص میکند؛list=focusبخشی از فهرست است که در صورت جا نشدن کل فهرست در فضای در دسترس، باید در کانون توجه باقی بماند (معمولاً پنجره فعلی)؛list=left-markerوlist=right-markerمتنی را مشخص میکنند که نشان دهد در صورت نبود فضای کافی، متن از سمت چپ یا راست فهرست کوتاه شده است. noattr- مشخصهها از سبک پیشفرض کپی نمیشوند.
push-default,pop-default- رنگها و
مشخصههای
فعلی را به
عنوان
پیشفرض
ذخیره
میکند یا
به پیشفرض
پیشین
بازمیگرداند.
یک
push-defaultبر هر استفاده بعدی از عبارتdefaultتا زمان فراخوانیpop-defaultاثر میگذارد. تنها یک پیشفرض را میتوان در پشته ذخیره کرد (هرpush-defaultجایگزین پیشفرض ذخیرهشده پیشین میشود). range=left,range=right,range=session|X,range=window|X,range=pane|X,range=user|X,range=control|N,norange- محدودهای
را برای
رویدادهای
ماوس در
گزینه
status-formatمشخص میکند. هنگامی که یک رویداد ماوس در محدودهrange=leftیاrange=rightرخ میدهد، انتساب کلیدهای ‘StatusLeft’ و ‘StatusRight’ اجرا میشوند.range=session|X,range=window|Xوrange=pane|Xمحدودههایی برای یک نشست، پنجره یا قاب هستند. اینها کلید ماوس ‘Status’ را با نشست، پنجره یا قاب هدف که توسط آرگومان ‘X’ مشخص شده است فعال میکنند. ‘X’ یک شناسه نشست، نمایه پنجره در نشست فعلی یا شناسه قاب است. برای این موارد، متغیر قالبیmouse_status_rangeروی ‘session ،’ ‘window’ یا ‘pane’ تنظیم خواهد شد.range=user|Xیک محدوده تعریفشده توسط کاربر است؛ این گزینه کلید ماوس ‘Status’ را فعال میکند. آرگومان ‘X’ در متغیر قالبیmouse_status_rangeدر دسترس خواهد بود. ‘X’ باید حداکثر ۱۵ بایت طول داشته باشد.range=control|Nمجموعهای از محدودهها برای کاربران است تا رفتار سفارشی را تعریف کنند. ‘N’ میتواند از 0 تا 9 باشد. هنگامی که یک رویداد ماوس در محدودهrange=control|Nرخ دهد، کلید مقیدشدهی ‘ControlN’ فعال میشود. برای جزئیات بیشتر بخش MOUSE SUPPORT را ببینید. set-default- رنگها و ویژگیهای فعلی را به عنوان پیشفرض تنظیم میکند و هر پیشفرض قبلی را بازنویسی مینماید. پیشفرض قبلی قابل بازیابی نیست.
مثالها عبارتند از:
fg=yellow bold underscore blink bg=black,fg=default,noreverse
نامها و عنوانها (NAMES AND TITLES)
tmux میان
نامها و
عنوانها
تفاوت قائل
میشود.
پنجرهها و
نشستها
دارای نام
هستند که
میتوان از
آنها برای
مشخص
کردنشان در
اهداف
استفاده
کرد و در خط
وضعیت و
فهرستهای
گوناگون
نمایش داده
میشوند:
نام، شناسه
tmux برای
یک پنجره یا
نشست است.
تنها
قابها
دارای
عنوان
هستند.
عنوان یک
قاب
معمولاً
توسط
برنامهای
که درون قاب
اجرا
میشود و با
استفاده از
یک دنباله
فرار تنظیم
میگردد
(مشابه
حالتی که
عنوان
پنجره
xterm(1) را
در X(7)
تنظیم
میکند). خود
پنجرهها
عنوان
ندارند -
عنوان یک
پنجره همان
عنوان قاب
فعال آن است.
خود tmux
میتواند
عنوان
ترمینالی
را که
کلاینت در
آن اجرا
میشود
تنظیم کند،
گزینه set-titles
را ببینید.
نام یک
نشست با
دستورات
new-session و
rename-session
تنظیم
میشود. نام
یک پنجره با
یکی از
موارد زیر
تنظیم
میگردد:
- یک آرگومان
دستور
(مانند
-nبرایnew-windowیاnew-session). - یک دنباله
فرار (در
صورتی که
گزینه
allow-renameفعال باشد):$ printf '\033kWINDOW_NAME\033\\'
- تغییر نام
خودکار، که
نام را روی
دستور فعال
در قاب فعال
پنجره
تنظیم
میکند.
گزینه
automatic-renameرا ببینید.
هنگامی که یک قاب برای نخستین بار ایجاد میشود، عنوان آن نام میزبان است. عنوان یک قاب میتواند از طریق دنباله فرار تنظیم عنوان مشخص شود، برای نمونه:
$ printf '\033]2;My Title\033\\'
همچنین
میتوان آن
را با دستور
select-pane -T
تغییر داد.
محیط سراسری و نشست (GLOBAL AND SESSION ENVIRONMENT)
هنگامی که
سرور شروع
به کار
میکند،
tmux محیط
را در
محیط
سراسری
رونوشت
مینماید؛
علاوه بر
این، هر
نشست دارای
یک محیط
نشست است.
هنگام
ایجاد یک
پنجره،
محیطهای
نشست و
سراسری
ادغام
میشوند.
اگر متغیری
در هر دو
وجود داشته
باشد،
مقدار
موجود در
محیط نشست
استفاده
میشود.
نتیجه،
محیط
اولیهای
است که به
فرایند
جدید منتقل
میگردد.
گزینه
نشستی
update-environment
میتواند
برای
بهروزرسانی
محیط نشست
از کلاینت
هنگام
ایجاد یک
نشست جدید
یا اتصال
مجدد به یک
نشست قدیمی
استفاده
شود. tmux
همچنین
متغیر TMUX
را با
اطلاعاتی
داخلی
مقداردهی
اولیه
میکند تا
اجرای
دستورات از
درون
امکانپذیر
شود، و
متغیر TERM
را با تنظیم
ترمینال
صحیح
‘screen’
مقداردهی
مینماید.
متغیرها در هر دو محیط نشست و سراسری میتوانند به عنوان مخفی علامتگذاری شوند. متغیرهای مخفی به محیط فرایندهای جدید منتقل نمیشوند و در عوض تنها میتوانند توسط خود tmux استفاده شوند (برای نمونه در قالبها، بخش FORMATS را ببینید).
دستورات برای تغییر و مشاهده محیط عبارتند از:
set-environment[-Fhgru] [-ttarget-session] variable [value]-
(alias:تنظیم یا حذف یک متغیر محیطی. اگر
setenv)-gاستفاده شود، تغییر در محیط سراسری اعمال میشود؛ در غیر این صورت، در محیط نشست مربوط به target-session اعمال خواهد شد. اگر-Fوجود داشته باشد، value به عنوان یک قالب بسط داده میشود. پرچم-uمتغیر را حذف میکند.-rمشخص میکند که متغیر باید پیش از شروع یک فرایند جدید از محیط حذف شود.-hمتغیر را به عنوان مخفی علامتگذاری میکند. show-environment[-hgs] [-ttarget-session] [variable]-
(alias:نمایش محیط برای target-session یا نمایش محیط سراسری با
showenv)-g. اگر variable حذف شود، تمام متغیرها نمایش داده میشوند. متغیرهای حذفشده از محیط با پیشوند ‘-’ نشان داده میشوند. اگر-sاستفاده شود، خروجی در قالب مجموعهای از دستورات پوسته Bourne قالببندی میگردد.-hمتغیرهای مخفی را نمایش میدهد (بهطور پیشفرض حذف شده است).
خط وضعیت (STATUS LINE)
tmux شامل
یک خط وضعیت
اختیاری
است که در خط
پایین هر
ترمینال
نمایش داده
میشود.
بهطور
پیشفرض،
خط وضعیت
فعال بوده و
ارتفاع آن
یک خط است
(میتوان آن
را غیرفعال
کرد یا با
گزینه
نشستی status
آن را
چندخطی
نمود) و از چپ
به راست
شامل موارد
زیر است: نام
نشست فعلی
در
قلابها؛
فهرست
پنجرهها؛
عنوان قاب
فعال درون
گیومه؛ و
ساعت و
تاریخ.
هر خط از
خط وضعیت با
گزینه
status-format
پیکربندی
میشود.
حالت
پیشفرض از
سه بخش
تشکیل شده
است:
بخشهای چپ
و راست با
قابلیت
پیکربندی
(که ممکن است
حاوی
محتوای
پویا مانند
زمان یا
خروجی یک
دستور
پوسته
باشند،
گزینههای
status-left,
status-left-length,
status-right, و
status-right-length در
زیر را
ببینید)، و
یک فهرست
پنجره
مرکزی.
بهطور
پیشفرض،
فهرست
پنجرهها
نمایه، نام
و پرچم (در
صورت وجود)
پنجرههای
موجود در
نشست فعلی
را به ترتیب
عددی صعودی
نمایش
میدهد. این
فهرست
میتواند
با
گزینههای
window-status-format و
window-status-current-format
سفارشیسازی
شود. پرچم
یکی از
نمادهای
زیر است که
به انتهای
نام پنجره
اضافه
میشود:
| نماد | معنی |
* |
نشاندهنده پنجره فعلی است. |
- |
نشاندهنده آخرین پنجره (قبلاً انتخابشده) است. |
# |
فعالیت پنجره پایش میشود و فعالیتی شناسایی شده است. |
! |
زنگهای پنجره پایش میشوند و زنگی در پنجره رخ داده است. |
~ |
پنجره به
مدت بازه
زمانی
monitor-silence ساکت
بوده است. |
M |
پنجره شامل قاب علامتگذاریشده است. |
Z |
قاب فعال پنجره بزرگنمایی شده است. |
نماد #
مربوط به
گزینه
پنجرهای
monitor-activity است.
در صورت
وجود یک
هشدار (زنگ،
فعالیت یا
سکوت)، نام
پنجره با
رنگهای
وارونه چاپ
میشود.
رنگ و
ویژگیهای
خط وضعیت
میتوانند
پیکربندی
شوند؛ کل خط
وضعیت با
استفاده از
گزینه
نشستی
status-style و
پنجرههای
مجزا با
استفاده از
گزینه
پنجرهای
window-status-style.
خط وضعیت
در صورت
تغییر،
بهطور
خودکار در
فواصل
زمانی
بازخوانی
میشود؛
این بازه
زمانی با
گزینه
نشستی
status-interval قابل
کنترل است.
دستورات مربوط به خط وضعیت به شرح زیر هستند:
clear-prompt-history[-Tprompt-type]-
(alias:پاک کردن تاریخچه اعلان وضعیت برای نوع اعلان prompt-type. اگر
clearphist)-Tحذف شود، تاریخچه برای تمام انواع اعلانها پاک میشود. برای مقادیر ممکن prompt-type دستورcommand-promptرا ببینید. command-prompt[-1bCeFiklN] [-Iinputs] [-pprompts] [-ttarget-client] [-Tprompt-type] [template]- باز کردن
اعلان
دستور در یک
کلاینت. این
دستور
میتواند
از داخل
tmuxبرای اجرای تعاملی دستورات استفاده شود.اگر template مشخص شده باشد، به عنوان دستور استفاده میشود. با
-F-،template به عنوان یک قالب بسط داده میشود.اگر
-Iمشخص شده باشد، inputs یک فهرست جداشده با کاما از متن اولیه برای هر اعلان است. اگر-pداده شود، prompts فهرستی جداشده با کاما از اعلانها است که به ترتیب نمایش داده میشوند؛ در غیر این صورت یک اعلان منفرد نمایش داده میشود که از template (در صورت وجود) یا از ‘:’ (در صورت عدم وجود) ساخته شده است.-lتقسیم کردن inputs و prompts با کاما را غیرفعال کرده و با آنها به عنوان متن مستقیم رفتار میکند.پیش از اجرای دستور، نخستین وقوع رشته ‘
%%’ و تمام وقوعهای ‘%1’ با پاسخ به نخستین اعلان، تمام وقوعهای ‘%2’ با پاسخ به دومین اعلان و به همین ترتیب برای اعلانهای بعدی جایگزین میشوند. حداکثر تا نه پاسخ اعلان میتوانند جایگزین شوند (‘%1’ تا ‘%9’). ‘%%%’ مانند ‘%%’ است اما علامتهای نقلقول اسکیپ میشوند.-1باعث میشود اعلان تنها یک فشردن کلید را بپذیرد، که در این حالت ورودی حاصل یک کاراکتر منفرد خواهد بود.-kمانند-1است اما کلید فشردهشده به یک نام کلید تبدیل میشود.-Nباعث میشود اعلان تنها کلیدهای عددی را بپذیرد. اگر-Cداده شود، بهروزرسانی قابها در حین نمایش اعلان همچنان ادامه خواهد یافت.-iدستور را با هر بار تغییر ورودی اعلان اجرا میکند به جای اینکه منتظر خروج کاربر از اعلان دستور بماند.-eباعث میشود BSpace اعلان خالی را لغو کند.-Tنوع اعلان را بهtmuxاعلام میکند. این گزینه تعیین میکند هنگام فشرده شدن کلید Tab چه تکمیلهایی پیشنهاد داده شوند. انواع موجود عبارتند از: ‘command’, ‘search’, ‘target’ و ‘window-target’.کلیدهای زیر بسته به مقدار گزینه
status-keysدارای معنای ویژهای در اعلان دستور هستند:عملکرد vi emacs لغو اعلان دستورq Escape حذف از مکاننما تا ابتدای کلمهC-w حذف کل دستورd C-u حذف از مکاننما تا انتهاD C-k اجرای دستورEnter Enter دریافت دستور بعدی از تاریخچهDown دریافت دستور قبلی از تاریخچهUp درج بالاترین بافر چسباندنp C-y جستجوی تکمیلهاTab Tab حرکت مکاننما به چپh Left حرکت مکاننما به راستl Right حرکت مکاننما به انتها$ C-e حرکت مکاننما به کلمه بعدیw M-f حرکت مکاننما به کلمه قبلیb M-b حرکت مکاننما به ابتدا0 C-a جابهجایی نویسههاC-t با
-b, اعلان در پسزمینه نشان داده میشود و کلاینت فراخواننده تا زمان بسته شدن آن خارج نمیشود. confirm-before[-by] [-cconfirm-key] [-pprompt] [-ttarget-client] command-
(alias:پیش از اجرای command درخواست تایید میکند. اگر
confirm)-pداده شده باشد، prompt اعلانی است که نمایش داده میشود؛ در غیر این صورت اعلانی از command ساخته میشود. این اعلان میتواند شامل توالیهای نویسه خاص باشد که توسط گزینهstatus-leftپشتیبانی میشوند. با-b, اعلان در پسزمینه نشان داده میشود و کلاینت فراخواننده تا زمان بسته شدن آن خارج نمیشود.-yرفتار پیشفرض اعلان را (اگر فقط Enter فشرده شود) به اجرای دستور تغییر میدهد.-cکلید تایید را به confirm-key تغییر میدهد؛ مقدار پیشفرض ‘y’ است. -
(alias:یک منو را روی target-client نمایش میدهد. target-pane هدف هر دستوری را که از منو اجرا شود مشخص میکند.
menu)یک منو به صورت مجموعهای از آرگومانها منتقل میشود: ابتدا نام مورد منو، دوم کلید میانبر (یا خالی برای هیچکدام) و سوم دستوری که هنگام انتخاب مورد منو اجرا میشود. نام و دستور قالب هستند، بخشهای FORMATS و STYLES را ببینید. اگر نام با یک خط تیره (-) شروع شود، آنگاه مورد غیرفعال است (کمرنگ نشان داده میشود) و نمیتواند انتخاب شود. نام میتواند برای یک خط جداکننده خالی باشد، که در این حالت هم کلید و هم دستور باید حذف شوند.
-bنوع نویسههای استفادهشده برای رسم حاشیههای منو را تنظیم میکند. برای مقادیر ممکن border-lines گزینهpopup-border-linesرا ببینید.-Hسبک مورد منوی انتخابشده را تنظیم میکند (بخش STYLES را ببینید).-sسبک منو و-Sسبک حاشیه منو را تنظیم میکند (بخش STYLES را ببینید).-Tقالبی برای عنوان منو است (بخش FORMATS را ببینید).-Cمورد منوی انتخابشده به صورت پیشفرض را تعیین میکند، اگر منو به یک اتصال کلید ماوس مقید نشده باشد.-xو-yموقعیت منو را مشخص میکنند. هر دو میتوانند یک شماره سطر یا ستون، یا یکی از مقادیر ویژه زیر باشند:مقدار فلگ معنی Cهر دو مرکز ترمینال R-xسمت راست ترمینال Pهر دو پایین سمت چپ قاب Mهر دو موقعیت ماوس Wهر دو موقعیت پنجره روی خط وضعیت S-yخط بالای یا پایین خط وضعیت یا یک قالب، که شامل متغیرهای اضافی زیر گسترش مییابد:
نام متغیر جایگزینشده با popup_centre_xمرکز در کلاینت popup_centre_yمرکز در کلاینت popup_heightارتفاع منو یا پنجره بازشو popup_mouse_bottomپایین در موقعیت ماوس popup_mouse_centre_xمرکز افقی در موقعیت ماوس popup_mouse_centre_yمرکز عمودی در موقعیت ماوس popup_mouse_topبالا در موقعیت ماوس popup_mouse_xموقعیت افقی (X) ماوس popup_mouse_yموقعیت عمودی (Y) ماوس popup_pane_bottomپایین قاب popup_pane_leftسمت چپ قاب popup_pane_rightسمت راست قاب popup_pane_topبالای قاب popup_status_line_yبالا یا پایین خط وضعیت popup_widthعرض منو یا پنجره بازشو popup_window_status_line_xدر موقعیت پنجره در خط وضعیت popup_window_status_line_yدر خط وضعیت که پنجره را نشان میدهد هر منو شامل مواردی است که پس از آنها یک کلید میانبر داخل قلاب نشان داده میشود. اگر منو برای جا شدن در ترمینال بیش از حد بزرگ باشد، نمایش داده نمیشود. فشردن کلید میانبر مورد مربوطه را انتخاب میکند. اگر ماوس فعال باشد و منو از یک انتساب کلید ماوس باز شده باشد، رها کردن دکمه ماوس هنگامی که موردی انتخاب شده باشد آن مورد را برمیگزیند و رها کردن دکمه ماوس بدون انتخاب هیچ موردی منو را میبندد.
-Oاین رفتار را تغییر میدهد تا هنگامی که دکمه ماوس بدون انتخاب موردی رها میشود منو بسته نشود و برای انتخاب یک مورد باید روی دکمه ماوس کلیک شود.-Mبهtmuxاعلام میکند که منو باید رویدادهای ماوس را مدیریت کند؛ به طور پیشفرض فقط منوهایی که از انتسابهای کلید ماوس باز شدهاند این کار را انجام میدهند.کلیدهای زیر در منوها در دسترس هستند:
کلید عملکرد Enterانتخاب مورد مشخصشده Upانتخاب مورد قبلی Downانتخاب مورد بعدی qخروج از منو display-message[-aCIlNpv] [-ctarget-client] [-ddelay] [-ttarget-pane] [message]-
(alias:یک پیام را نمایش میدهد. اگر
display)-pداده شده باشد، خروجی در stdout چاپ میشود، در غیر این صورت در خط وضعیت target-client تا حداکثر delay میلیثانیه نمایش داده میشود. اگر delay داده نشده باشد، گزینهdisplay-timeاستفاده میشود؛ تاخیر صفر منتظر فشرده شدن یک کلید میماند.-Nفشردن کلیدها را نادیده میگیرد و تنها پس از پایان یافتن تاخیر بسته میشود. اگر-Cداده شده باشد، قاب در حین نمایش پیام همچنان بهروزرسانی خواهد شد. اگر-lداده شده باشد، message به صورت دستنخورده چاپ میشود. در غیر این صورت، قالب message در بخش FORMATS شرح داده شده است؛ اگر-tداده شده باشد، اطلاعات از target-pane گرفته میشود، در غیر این صورت از قاب فعال.-vگزارشگیری پرجزئیات را هنگام تحلیل قالب چاپ میکند و-aمتغیرهای قالب و مقادیر آنها را فهرست میکند.-Iهر ورودی خواندهشده از stdin را به قاب خالی مشخصشده توسط target-pane ارسال (forward) میکند. display-popup[-BCEkN] [-bborder-lines] [-ctarget-client] [-dstart-directory] [-eenvironment] [-hheight] [-sstyle] [-Sborder-style] [-ttarget-pane] [-Ttitle] [-wwidth] [-xposition] [-yposition] [shell-command [argument ...]]-
(alias:یک پنجره بازشو که shell-command (یا در صورت حذف، default-command) را اجرا میکند روی target-client نمایش میدهد. یک پنجره بازشو کادری مستطیلی است که روی تمام قابها رسم میشود. اگر دستور درون یک پنجره بازشوی موجود اجرا شود، آن پنجره بازشو تغییر مییابد. در این حالت تنها گزینههای
popup)-b,-B,-C,-E,-EE,-K,-N,-sو-Sپذیرفته میشوند؛ سایر گزینهها نادیده گرفته میشوند.-Eهنگام خروج shell-command پنجره بازشو را به صورت خودکار میبندد. دو-Eپنجره بازشو را تنها در صورتی میبندد که shell-command با موفقیت خارج شده باشد.-kاجازه میدهد هر کلیدی به جای تنها ‘Escape’ یا ‘C-c’ پنجره بازشو را ببندد.-xو-yموقعیت پنجره بازشو را مشخص میکنند، آنها همان معنایی را دارند که برای دستورdisplay-menuشرح داده شد.-wو-hعرض و ارتفاع را مشخص میکنند - هر دو میتوانند یک درصد باشند (به دنبال ‘%’). در صورت حذف، نیمی از اندازه ترمینال استفاده میشود.-Bپنجره بازشو را با حاشیه احاطه نمیکند.-bنوع نویسههای استفادهشده برای رسم حاشیههای پنجره بازشو را تنظیم میکند. هنگامی که-Bمشخص شده باشد، گزینه-bنادیده گرفته میشود. برای مقادیر ممکن border-lines گزینهpopup-border-linesرا ببینید.-sسبک پنجره بازشو و-Sسبک حاشیه پنجره بازشو را تنظیم میکند (بخش STYLES را ببینید).-eبه شکل ‘VARIABLE=value’ است و یک متغیر محیطی را برای پنجره بازشو تنظیم میکند؛ این گزینه میتواند چندین بار مشخص شود.-Tقالبی برای عنوان پنجره بازشو است (بخش FORMATS را ببینید).پرچم
-Cهر پنجره بازشویی را روی کلاینت میبندد.گزینه
-Nهر گزینه مشخصشده پیشین-E,-EEیا-kرا غیرفعال میکند. show-prompt-history[-Tprompt-type]-
(alias:تاریخچه اعلان وضعیت را برای نوع اعلان prompt-type نمایش میدهد. اگر
showphist)-Tحذف شود، تاریخچه تمام انواع نشان داده میشود. برای مقادیر ممکن برای prompt-type, دستورcommand-promptرا ببینید.
بافرها (BUFFERS)
tmux
مجموعهای
از
بافرهای
چسباندن (paste buffers)
نامگذاریشده
را نگهداری
میکند. هر
بافر
میتواند
به صورت
صریح یا
خودکار
نامگذاری
شود.
بافرهای
دارای نام
صریح هنگام
ایجاد با
دستورهای
set-buffer یا
load-buffer, یا با
تغییر نام
یک بافر
دارای نام
خودکار با
set-buffer -n
نامگذاری
میشوند. به
بافرهای
دارای نام
خودکار،
نامی مانند
‘buffer0001’,
‘buffer0002’ و
غیره
اختصاص
داده
میشود.
هنگامی که
گزینه
buffer-limit به حد
نصاب خود
برسد،
قدیمیترین
بافر دارای
نام خودکار
حذف میشود.
بافرهای
دارای نام
صریح مشمول
buffer-limit
نمیشوند و
میتوان
آنها را با
دستور
delete-buffer حذف
کرد.
بافرها را
میتوان با
استفاده از
copy-mode یا
دستورهای
set-buffer و
load-buffer
افزود، و با
استفاده از
دستور
paste-buffer در یک
پنجره
چسباند. اگر
یک دستور
بافر
استفاده
شود و هیچ
بافری مشخص
نشده باشد،
جدیدترین
بافر
خودکار
اضافهشده
فرض
میشود.
یک بافر
تاریخچه
قابلپیکربندی
نیز برای هر
پنجره
نگهداری
میشود. به
طور
پیشفرض،
تا ۲۰۰۰ خط
نگهداشته
میشود؛
این مقدار
را میتوان
با گزینه
history-limit
تغییر داد
(دستور set-option
در بالا را
ببینید).
دستورهای بافر به شرح زیر هستند:
choose-buffer[-NryZ] [-Fformat] [-ffilter] [-Kkey-format] [-Osort-order] [-ttarget-pane] [template]- قاب را در
حالت بافر
قرار
میدهد،
جایی که
میتوان یک
بافر را به
صورت
تعاملی از
یک فهرست
انتخاب کرد.
هر بافر در
یک خط نشان
داده
میشود. یک
کلید
میانبر در
سمت چپ داخل
براکت
نمایش داده
میشود که
امکان
انتخاب
فوری را
فراهم
میکند، یا
میتوان در
فهرست
پیمایش کرد
و با
استفاده از
کلیدهای
زیر موردی
را انتخاب
یا به نحوی
دستکاری
کرد.
-Zقاب را بزرگنمایی (zoom) میکند.-yهرگونه اعلان تایید را غیرفعال میکند. کلیدهای زیر را میتوان در حالت بافر استفاده کرد:کلید (Key) عملکرد (Function) Enterچسباندن بافر انتخابشده Upانتخاب بافر قبلی Downانتخاب بافر بعدی C-sجستجو بر اساس نام یا محتوا nتکرار آخرین جستجو رو به جلو Nتکرار آخرین جستجو رو به عقب tتغییر وضعیت نشانهگذاری بافر Tحذف نشانهگذاری همه بافرها C-tنشانهگذاری همه بافرها pچسباندن بافر انتخابشده Pچسباندن بافرهای نشانهگذاریشده dحذف بافر انتخابشده Dحذف بافرهای نشانهگذاریشده eباز کردن بافر در یک ویرایشگر fورود قالب برای فیلتر کردن موارد Oتغییر ترتیب مرتبسازی rمعکوس کردن ترتیب مرتبسازی vتغییر وضعیت پیشنمایش F1 or C-hنمایش راهنما qخروج از حالت پس از انتخاب یک بافر، ‘
%%’ با نام بافر در template جایگزین شده و نتیجه به عنوان یک دستور اجرا میشود. اگر template داده نشود، "paste-buffer -p -b '%%'" استفاده میشود.-Oترتیب مرتبسازی اولیه را مشخص میکند: یکی از ‘creation’ (زمان)، ‘name’ یا ‘size’.-rترتیب مرتبسازی را معکوس میکند.-fیک فیلتر اولیه را مشخص میکند: فیلتر یک قالب است - اگر مقدار آن صفر ارزیابی شود، مورد در فهرست نشان داده نمیشود، در غیر این صورت نشان داده میشود. اگر یک فیلتر منجر به یک فهرست خالی شود، نادیده گرفته میشود.-Fقالب را برای هر مورد در فهرست و-Kقالبی را برای هر کلید میانبر مشخص میکند؛ هر دو یک بار برای هر خط ارزیابی میشوند.-Nبدون پیشنمایش آغاز میشود. این دستور تنها در صورتی کار میکند که دستکم یک کلاینت متصل باشد. clear-history[-H] [-ttarget-pane]-
(alias:تاریخچه قاب مشخصشده را حذف و حافظه آن را آزاد میکند.
clearhist)-Hهمچنین تمام هایپرلینکها را حذف میکند. delete-buffer[-bbuffer-name]-
(alias:بافر با نام buffer-name را حذف میکند، یا در صورت عدم تعیین، جدیدترین بافر خودکار اضافهشده را حذف میکند.
deleteb) list-buffers[-r] [-Fformat] [-ffilter] [-Osort-order]-
(alias:بافرهای سراسری را فهرست میکند.
lsb)-Fقالب هر خط و-fیک فیلتر را مشخص میکند. تنها بافرهایی نشان داده میشوند که فیلتر برای آنها درست (true) باشد. بخش FORMATS را ببینید.-Oترتیب مرتبسازی را مشخص میکند: یکی از ‘name’, ‘size’ یا ‘creation’ (زمان).-rترتیب مرتبسازی را معکوس میکند. load-buffer[-w] [-bbuffer-name] [-ttarget-client] path-
(alias:محتوای بافر چسباندن مشخصشده را از path بارگیری میکند. اگر
loadb)-wداده شود، در صورت امکان، بافر با استفاده از توالی گریز (escape sequence) xterm(1) به کلیپبورد برای target-client نیز ارسال میشود. اگر path برابر ‘-’ باشد، محتوا از ورودی استاندارد (stdin) خوانده میشود. paste-buffer[-dprS] [-bbuffer-name] [-sseparator] [-ttarget-pane]-
(alias:محتوای یک بافر چسباندن را در قاب مشخصشده درج میکند. اگر مشخص نشده باشد، در قاب فعلی میچسباند. به طور پیشفرض، نویسههای کنترلی با vis(3) پاکسازی میشوند؛
pasteb)-Sاین قابلیت را غیرفعال میکند. همراه با-d, بافر چسباندن را نیز حذف میکند.هنگام خروجی دادن، هرگونه نویسه سطر جدید (LF) در بافر چسباندن با یک جداکننده، به طور پیشفرض بازگشت به ابتدای سطر (CR)، جایگزین میشود. یک جداکننده سفارشی را میتوان با استفاده از گزینه
-sمشخص کرد. گزینه-rبه معنای عدم انجام جایگزینی است (معادل جداکننده LF). اگر-pمشخص شود، در صورتی که برنامه حالت bracketed paste را درخواست کرده باشد، کدهای کنترلی براکت چسباندن در اطراف بافر درج میشوند. save-buffer[-a] [-bbuffer-name] path-
(alias:محتوای بافر چسباندن مشخصشده را در path ذخیره میکند. گزینه
saveb)-aبه جای بازنویسی فایل، محتوا را به انتهای آن اضافه (append) میکند. اگر path برابر ‘-’ باشد، محتوا در خروجی استاندارد (stdout) نوشته میشود. set-buffer[-aw] [-bbuffer-name] [-ttarget-client] [-nnew-buffer-name] data-
(alias:محتوای بافر مشخصشده را روی data تنظیم میکند. اگر
setb)-wداده شود، در صورت امکان، بافر با استفاده از توالی گریز xterm(1) به کلیپبورد برای target-client نیز ارسال میشود. گزینه-aبه جای بازنویسی بافر، داده را به انتهای آن اضافه میکند. گزینه-nنام بافر را به new-buffer-name تغییر میدهد. show-buffer[-bbuffer-name]-
(alias:محتوای بافر مشخصشده را نمایش میدهد.
showb)
متفرقه (MISCELLANEOUS)
دستورهای متفرقه به شرح زیر هستند:
clock-mode[-ttarget-pane]- یک ساعت بزرگ را نمایش میدهد.
if-shell[-bF] [-ttarget-pane] shell-command command [command]-
(alias:اگر shell-command (که با /bin/sh اجرا میشود) وضعیت موفقیتآمیز برگرداند، نخستین command را اجرا میکند، در غیر این صورت دومین command را اجرا میکند. پیش از اجرا، shell-command با استفاده از قواعد مشخصشده در بخش FORMATS, شامل موارد مربوط به target-pane, گسترش مییابد. همراه با
if)-b, دستور shell-command در پسزمینه اجرا میشود.اگر
-Fداده شود، shell-command اجرا نمیشود اما در صورتی که پس از گسترش قالبها نه خالی باشد و نه صفر، به عنوان موفقیت در نظر گرفته میشود. lock-server-
(alias:هر کلاینت را با اجرای دستور مشخصشده توسط گزینه
lock)lock-commandبه صورت جداگانه قفل میکند. run-shell[-bCE] [-cstart-directory] [-ddelay] [-ttarget-pane] [shell-command [argument ...]]-
(alias:دستور shell-command را با استفاده از /bin/sh یا (همراه با
run)-C) یک دستورtmuxدر پسزمینه و بدون ایجاد یک پنجره اجرا میکند. پیش از اجرا، shell-command با استفاده از قواعد مشخصشده در بخش FORMATS گسترش مییابد. اگر مقادیر argument داده شده باشند، به صورت ‘#{1}’, ‘#{2}’ و غیره در دسترس خواهند بود. برای نمونه:run-shell 'myscript.sh #1 #2' foo bar
همراه با
-b, دستور در پسزمینه اجرا میشود.-dبه مدت delay ثانیه پیش از آغاز دستور صبر میکند.-Eخروجی خطای استاندارد (stderr) دستور را به جای نادیده گرفتن، به خروجی استاندارد (stdout) هدایت میکند. اگر-cداده شود، دایرکتوری کاری فعلی روی start-directory تنظیم میشود. اگر-Cداده نشود، هرگونه خروجی به stdout پس از پایان دستور، در حالت مشاهده (در قاب مشخصشده با-tیا در صورت حذف، قاب فعلی) نمایش داده میشود. اگر دستور با شکست مواجه شود، وضعیت خروج نیز نمایش داده میشود. wait-for[-L|-S|-U] channel-
(alias:هنگامی که بدون گزینه استفاده شود، از خروج کلاینت تا زمانی که با استفاده از
wait)wait-for-Sروی همان کانال بیدار شود، جلوگیری میکند. هنگامی که-Lاستفاده شود، کانال قفل میشود و هر کلاینتی که برای قفل کردن همان کانال تلاش کند، وادار به صبر کردن میشود تا زمانی که کانال باwait-for-Uباز شود.
پیامهای خروج (EXIT MESSAGES)
هنگامی که
یک کلاینت
tmux جدا (detach)
میشود،
پیامی چاپ
میکند. این
پیام
میتواند
یکی از
موارد زیر
باشد:
- detached (from session ...)
- کلاینت به طور عادی جدا شد.
- detached and SIGHUP
- کلاینت جدا
شد و والد
آن سیگنال
SIGHUPرا ارسال کرد (برای نمونه باdetach-client-P). - lost tty
- tty(4) یا pty(4) کلاینت به طور غیرمنتظرهای از بین رفت.
- terminated
- کلاینت با
SIGTERMکشته شد. - too far behind
- کلاینت در
حالت کنترل
قرار دارد و
توان همگام
ماندن با
دادههای
tmuxرا از دست داد. - exited
- سرور هنگامی که هیچ نشستی نداشت، خارج شد.
- server exited
- سرور
هنگامی که
SIGTERMرا دریافت کرد، خارج شد. - server exited unexpectedly
- سرور دچار خرابی شد یا به شکل دیگری بدون اعلام دلیل به کلاینت، خارج گردید.
افزونههای TERMINFO (TERMINFO EXTENSIONS)
tmux برخی
از
افزونههای
غیررسمی
terminfo(5) را
درک میکند.
معمولاً
نیازی به
تنظیم دستی
آنها
نیست؛ به
جای آن باید
از گزینه
terminal-features
استفاده
شود.
- AX
- یک افزونه
موجود است
که به
tmuxمیگوید ترمینال از رنگهای پیشفرض پشتیبانی میکند. - Bidi
- به
tmuxمیگوید که ترمینال از افزونههای متن دوجهته VTE پشتیبانی میکند. - Cs, Cr
- تنظیم رنگ
مکاننما.
مورد اول یک
آرگومان
رشتهای
میگیرد و
برای تنظیم
رنگ
استفاده
میشود؛
مورد دوم
هیچ
آرگومانی
نمیگیرد و
رنگ
پیشفرض
مکاننما
را بازیابی
میکند. در
صورت
تنظیم،
میتوان از
توالیای
مانند زیر
برای تغییر
رنگ
مکاننما
از درون
tmuxاستفاده کرد:$ printf '\033]12;red\033\\'
این رنگ، یک رنگ X(7) است؛ XParseColor(3) را ببینید.
- Cmg, Clmg, Dsmg, Enmg
- تنظیم، پاکسازی، غیرفعال یا فعال کردن حاشیههای DECSLRM. در صورتی که ترمینال سازگاری با VT420 را گزارش دهد، این موارد به طور خودکار تنظیم میشوند.
- Dsbp, Enbp
- غیرفعال و فعال کردن bracketed paste. در صورت وجود قابلیت XT, این موارد به طور خودکار تنظیم میشوند.
- Dseks, Eneks
- غیرفعال و فعال کردن کلیدهای گسترشیافته.
- Dsfcs, Enfcs
- غیرفعال و فعال کردن گزارش فوکوس. در صورت وجود قابلیت XT, این موارد به طور خودکار تنظیم میشوند.
- Hls
- تنظیم یا پاکسازی یادداشت هایپرلینک.
- Nobr
- به
tmuxاعلام میکند که ترمینال برای نمایش متن پررنگ (bold) از رنگهای روشن استفاده نمیکند. - Rect
- به
tmuxاعلام میکند که ترمینال از عملیات مستطیلی پشتیبانی میکند. - Smol
- فعال کردن ویژگی خط روی متن (overline).
- Smulx
- تنظیم خط زیرین با سبک خاص. این پارامتر منفرد یکی از موارد زیر است: 0 برای بدون خط زیرین، 1 برای خط زیرین معمولی، 2 برای خط زیرین دوگانه، 3 برای خط زیرین موجدار، 4 برای خط زیرین نقطهچین و 5 برای خط زیرین خطچین.
- Setulc, Setulc1, ol
- تنظیم رنگ خط زیرین یا بازنشانی به حالت پیشفرض. Setulc برای رنگهای RGB و Setulc1 برای رنگهای ANSI یا ۲۵۶ رنگ است. آرگومان Setulc به صورت (red * 65536) + (green * 256) + blue است که هر کدام مقداری بین 0 تا 255 دارند.
- Ss, Se
- تنظیم یا
بازنشانی
سبک
مکاننما.
در صورت
تنظیم،
میتوان از
توالیای
مانند زیر
برای تغییر
مکاننما
به یک خط
زیرین
استفاده
کرد:
$ printf '\033[4 q'
اگر Se تنظیم نشده باشد، به جای آن از Ss با آرگومان 0 برای بازنشانی سبک مکاننما استفاده خواهد شد.
- Spb
- تنظیم وضعیت و پیشرفت برای نوار پیشرفت OSC9;4.
- Swd
- تنظیم توالی آغازین برای اعلان دایرکتوری کاری. این توالی با استفاده از قابلیت استاندارد fsl خاتمه مییابد.
- Sxl
- نشان میدهد که ترمینال از SIXEL پشتیبانی میکند.
- Sync
- آغاز (پارامتر برابر 1) یا پایان (پارامتر برابر 2) یک بهروزرسانی همگامسازیشده.
- Tc
- نشان
میدهد که
ترمینال از
توالی گریز
RGB ‘
direct colour’ پشتیبانی میکند (برای نمونه، \e[38;2;255;255;255m).در صورت پشتیبانی، این مورد برای توالی گریز مقداردهی اولیه رنگ استفاده میشود (که میتواند با افزودن قابلیتهای ‘
initc’ و ‘ccc’ به مدخلtmuxدر terminfo(5) فعال شود).این معادل قابلیت RGB در terminfo(5) است.
- Ms
- ذخیره بافر فعلی در انتخاب (کلیپبورد) ترمینال میزبان. گزینه set-clipboard در بالا و صفحه راهنمای xterm(1) را ببینید.
- XT
- این یک قابلیت افزونه موجود است که tmux از آن برای بیان این موضوع استفاده میکند که ترمینال از توالیهای تنظیم عنوان xterm(1) پشتیبانی کرده و به طور خودکار برخی از قابلیتهای بالا را تنظیم میکند.
حالت کنترل (CONTROL MODE)
tmux یک
رابط متنی
به نام
control
mode ارائه
میدهد. این
ویژگی به
برنامهها
امکان
میدهد با
استفاده از
یک پروتکل
ساده متنی
با tmux
ارتباط
برقرار
کنند.
در حالت
کنترل،
کلاینت
دستورها یا
توالیهای
دستور tmux
را که با سطر
جدید خاتمه
مییابند
در ورودی
استاندارد
ارسال
میکند. هر
دستور یک
بلوک خروجی
در خروجی
استاندارد
تولید
میکند. یک
بلوک خروجی
شامل یک خط
%begin است که
خروجی به
دنبال آن
میآید (که
ممکن است
خالی باشد).
بلوک خروجی
با یک خط %end
یا %error
خاتمه
مییابد. خط
%begin و %end یا
%error
متناظر، سه
آرگومان
دارند: زمان
عددی صحیح
(به صورت
ثانیهها
از مبدا epoch)،
شماره
دستور و
فلگها (در
حال حاضر
استفاده
نمیشود).
برای
نمونه:
%begin 1363006971 2 1 0: ksh* (1 panes) [80x24] [layout b25f,80x24,0,0,2] @2 (active) %end 1363006971 2 1
دستور
refresh-client -C
میتواند
برای تنظیم
اندازه یک
کلاینت در
حالت کنترل
استفاده
شود.
در حالت
کنترل،
tmux
اعلانها
را خروجی
میدهد. یک
اعلان هرگز
درون یک
بلوک خروجی
رخ نخواهد
داد.
اعلانهای زیر تعریف شدهاند:
%client-detachedclient- کلاینت جدا شد.
%client-session-changedclient session-id name- کلاینت اکنون به نشستی با شناسه session-id متصل است که با نام name نامگذاری شده است.
%config-errorerror- خطایی در یک فایل پیکربندی رخ داده است.
%continuepane-id- قاب پس از
مکث شدن،
ادامه
یافته است
(در صورتی
که فلگ
pause-after تنظیم
شده باشد؛
دستور
refresh-client-Aرا ببینید). %exit[reason]- کلاینت
tmuxبلافاصله در حال خروج است، یا به این دلیل که به هیچ نشستی متصل نیست یا خطایی رخ داده است. در صورت وجود، reason توضیح میدهد که چرا کلاینت خارج شد. %extended-outputpane-id age ... : value- شکل جدیدی
از
%outputاست که هنگام تنظیم بودن فلگ pause-after ارسال میشود. age مدت زمان بر حسب میلیثانیه است که tmux خروجی را پیش از ارسال در بافر نگه داشته بود. هرگونه آرگومان بعدی تا رسیدن به یک ‘:’ تک، برای استفادههای آینده در نظر گرفته شدهاند و باید نادیده گرفته شوند. %layout-changewindow-id window-layout window-visible-layout window-flags- طرحبندی پنجرهای با شناسه window-id تغییر کرد. طرحبندی جدید window-layout است. طرحبندی مرئی پنجره window-visible-layout و فلگهای پنجره window-flags هستند.
%messagemessage- پیامی که با
دستور
display-messageارسال شده است. %outputpane-id value- یک قاب پنجره خروجی تولید کرد. value نویسههای غیرقابلچاپ و بکاسلش را به صورت اکتال \xxx اسکیپ میکند.
%pane-mode-changedpane-id- قاب با شناسه pane-id حالت خود را تغییر داد.
%paste-buffer-changedname- بافر چسباندن name تغییر یافته است.
%paste-buffer-deletedname- بافر چسباندن name حذف شده است.
%pausepane-id- قاب متوقف (مکث) شده است (اگر فلگ pause-after تنظیم شده باشد).
%session-changedsession-id name- کلاینت اکنون به نشستی با شناسه session-id متصل است که با نام name نامگذاری شده است.
%session-renamedname- نشست فعلی به name تغییر نام یافت.
%session-window-changedsession-id window-id- نشست با شناسه session-id پنجره فعال خود را به پنجرهای با شناسه window-id تغییر داد.
%sessions-changed- یک نشست ایجاد یا نابود شد.
%subscription-changedname session-id window-id window-index pane-id ... : value- مقدار فرمت
مرتبط با
اشتراک
name به value
تغییر یافت.
refresh-client-Bرا ببینید. هرگونه آرگومان پس از pane-id تا رسیدن به یک ‘:’ تک، برای استفادههای آینده است و باید نادیده گرفته شود. %unlinked-window-addwindow-id- پنجره با شناسه window-id ایجاد شد اما به نشست جاری پیوند داده نشده است.
%unlinked-window-closewindow-id- پنجره با شناسه window-id که به نشست جاری پیوند داده نشده است، بسته شد.
%unlinked-window-renamedwindow-id new-name- پنجره با شناسه window-id که به نشست جاری پیوند داده نشده است، تغییر نام یافت.
%window-addwindow-id- پنجره با شناسه window-id به نشست جاری پیوند داده شد.
%window-closewindow-id- پنجره با شناسه window-id بسته شد.
%window-pane-changedwindow-id pane-id- کادر فعال در پنجره با شناسه window-id به کادر با شناسه pane-id تغییر کرد.
%window-renamedwindow-id name- نام پنجره با شناسه window-id به name تغییر یافت.
متغیرهای محیطی (ENVIRONMENT)
هنگامی که
tmux
راهاندازی
میشود،
متغیرهای
محیطی زیر
را بررسی
میکند:
EDITOR- اگر دستور
مشخصشده
در این
متغیر شامل
رشته
‘
vi’ باشد وVISUALتنظیم نشده باشد، از کلیدهای میانبر به سبک vi استفاده میشود. توسط گزینههایmode-keysوstatus-keysبازنویسی میشود. HOME- دایرکتوری ورود (login) کاربر. اگر تنظیم نشده باشد، از پایگاه داده passwd(5) استعلام میشود.
LC_CTYPE- لوکال
locale(1)
کدگذاری
نویسهها.
برای دو هدف
مجزا
استفاده
میشود.
برای خروجی
به
ترمینال،
اگر گزینه
-uداده شده باشد یاLC_CTYPEشامل "UTF-8" یا "UTF8" باشد، از UTF-8 استفاده میشود. در غیر این صورت، تنها نویسههای ASCII نوشته میشوند و نویسههای غیر ASCII با زیرخط (‘_’) جایگزین میشوند. برای ورودی،tmuxهمیشه با یک لوکال UTF-8 اجرا میشود. اگر en_US.UTF-8 توسط سیستمعامل ارائه شده باشد، از آن استفاده میشود وLC_CTYPEبرای ورودی نادیده گرفته میشود. در غیر این صورت،LC_CTYPEبهtmuxمیگوید نام لوکال UTF-8 در سیستم جاری چیست. اگر لوکال مشخصشده توسطLC_CTYPEدر دسترس نباشد یا یک لوکال UTF-8 نباشد،tmuxبا یک پیام خطا خارج میشود. LC_TIME- لوکال locale(1) قالب تاریخ و زمان. برای مشخصکنندههای قالب وابسته به لوکال در strftime(3) استفاده میشود.
PWD- دایرکتوری کاری جاری برای تنظیم در محیط سراسری. این ممکن است زمانی که حاوی پیوندهای نمادین است مفید باشد. اگر مقدار متغیر با دایرکتوری کاری جاری مطابقت نداشته باشد، متغیر نادیده گرفته شده و در عوض از نتیجه getcwd(3) استفاده میشود.
SHELL- مسیر مطلق
به پوسته
پیشفرض
برای
پنجرههای
جدید. برای
جزئیات
بیشتر،
گزینه
default-shellرا ببینید. TMUX_TMPDIR- دایرکتوری
والد برای
دایرکتوری
حاوی
سوکتهای
سرور. برای
جزئیات
بیشتر،
گزینه
-Lرا ببینید. VISUAL- اگر دستور
مشخصشده
در این
متغیر شامل
رشته
‘
vi’ باشد، از کلیدهای میانبر به سبک vi استفاده میشود. توسط گزینههایmode-keysوstatus-keysبازنویسی میشود.
فایلها (FILES)
- ~/.tmux.conf
- $XDG_CONFIG_HOME/tmux/tmux.conf
- ~/.config/tmux/tmux.conf
- فایل
پیکربندی
پیشفرض
tmux. - /etc/tmux.conf
- فایل پیکربندی سراسری سیستم.
مثالها (EXAMPLES)
برای
ایجاد یک
نشست جدید
tmux که
vi(1) را
اجرا
میکند:
$ tmux new-session viبیشتر
دستورات
شکل
کوتاهتری
دارند که به
عنوان نام
مستعار (alias)
شناخته
میشوند.
برای new-session,
این شکل
new است:
$ tmux new viهمچنین، کوتاهترین شکل غیرمبهم یک دستور پذیرفته میشود. اگر چندین گزینه وجود داشته باشد، فهرست میشوند:
$ tmux n ambiguous command: n, could be: new-session, new-window, next-window
درون یک
نشست فعال،
میتوان با
فشردن ‘C-b
c’ (کلید Ctrl و
به دنبال آن
کلید ‘b’
و سپس کلید
‘c’) یک
پنجره جدید
ایجاد کرد.
پنجرهها
را میتوان
با موارد
زیر پیمایش
کرد: ‘C-b 0’
(برای
انتخاب
پنجره ۰)،
‘C-b 1’
(برای
انتخاب
پنجره ۱)، و
به همین
ترتیب؛
‘C-b n’
برای
انتخاب
پنجره
بعدی؛ و
‘C-b p’
برای
انتخاب
پنجره
قبلی.
یک نشست را
میتوان با
استفاده از
‘C-b d’ (یا
توسط یک
رویداد
خارجی
مانند قطع
اتصال
ssh(1)) جدا
(detach) کرد و
مجدداً با
دستور زیر
متصل (reattach)
نمود:
$ tmux attach-sessionفشردن
‘C-b ?’
کلیدهای
میانبر
جاری در
پنجره جاری
را فهرست
میکند؛ از
کلیدهای
بالا و
پایین
میتوان
برای
پیمایش
فهرست یا از
‘q’ برای
خروج از آن
استفاده
کرد.
دستوراتی
که باید
هنگام
راهاندازی
سرور tmux
اجرا شوند
را میتوان
در فایل
پیکربندی
~/.tmux.conf قرار
داد.
نمونههای
متداول
عبارتند
از:
تغییر کلید پیشوند پیشفرض:
set-option -g prefix C-a unbind-key C-b bind-key C-a send-prefix
خاموش کردن خط وضعیت، یا تغییر رنگ آن:
set-option -g status off set-option -g status-style bg=blue
تنظیم گزینههای دیگر، مانند دستور پیشفرض، یا قفل کردن پس از ۳۰ دقیقه عدم فعالیت:
set-option -g default-command "exec /bin/ksh" set-option -g lock-after-time 1800
ایجاد کلیدهای میانبر جدید:
bind-key b set-option status bind-key / command-prompt "split-window 'exec man %%'" bind-key S command-prompt "new-window -n %1 'ssh %1'"
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
Nicholas Marriott <nicholas.marriott@gmail.com>
| September 24, 2026 | Linux 6.12.107+deb13-amd64 |