كتيبات سطر الأوامر

Man » دليل tmux عبر الإنترنت - وثائق مفصلة عبر الإنترنت لصفحة دليل tmux

🌍
tmux — برنامج لتعدد استخدامات الطرفية

ملخص

tmux [-2CDhlNuVv] [-c shell-command] [-f file] [-L socket-name] [-S socket-path] [-T features]
[الأمر [علامات]]

الوصف

tmux هو برنامج لتعدد استخدامات الطرفية: فهو يمكّن من إنشاء عدد من الطرفيات والوصول إليها والتحكم فيها من شاشة واحدة. يمكن فصل tmux عن الشاشة والاستمرار في العمل في الخلفية، ثم إعادة توصيله لاحقًا.

عند بدء تشغيل tmux، يتم إنشاء جلسة جديدة تحتوي على نافذة واحدة وعرضها على الشاشة. يعرض سطر الحالة الموجود في الجزء السفلي من الشاشة معلومات حول الجلسة الحالية ويستخدم لإدخال الأوامر التفاعلية.

الجلسة هي مجموعة من المحطات الطرفية الوهمية التي يديرها tmux. تحتوي كل جلسة على نافذة واحدة أو أكثر مرتبطة بها. تحتل النافذة الشاشة بأكملها ويمكن تقسيمها إلى مربعات، وكل مربع هو محطة طرفية وهمية منفصلة (توثق صفحة الدليل pty(4) التفاصيل الفنية للمحطات الطرفية الوهمية). يمكن أن يتصل أي عدد من مثيلات tmux بنفس الجلسة، ويمكن أن يكون هناك أي عدد من النوافذ في نفس الجلسة. بمجرد قتل جميع الجلسات، يخرج tmux.

كل جلسة ثابتة وستبقى حتى في حالة الانفصال العرضي (مثل [ssh]({filename}../../ssh)(1) انتهاء مهلة الاتصال) أو الفصل المتعمد (باستخدام ضغطات المفاتيح 'C-b d'). يمكن إعادة توصيل tmux باستخدام:

$ tmux attach

في tmux، يتم عرض الجلسة على الشاشة بواسطة عميل ويتم إدارة جميع الجلسات بواسطة خادم واحد. الخادم وكل عميل هما عمليتان منفصلتان تتواصلان عبر مقبس في /tmp.

الخيارات هي كما يلي:

-2  يجبر tmux على افتراض أن الطرفية تدعم 256 لونًا. هذا يعادل -T 25.

-C  يبدأ في وضع التحكم (انظر قسم "وضع التحكم"). عند إعطائه مرتين (-CC)، يتم تعطيل الصدى.

-c shell-command
قم بتنفيذ shell-command باستخدام الصدفة الافتراضية. إذا لزم الأمر، سيتم بدء تشغيل خادم tmux لاسترداد خيار default-shell. هذا الخيار مخصص للتوافق مع [sh]({filename}../../sh)(1) عندما يتم استخدام tmux كصدفة تسجيل الدخول.

-D  لا تبدأ خادم tmux كعملية في الخلفية. يؤدي هذا أيضًا إلى إيقاف تشغيل خيار exit-empty. مع -D، لا يمكن تحديد الأمر.

-f file حدد ملف تكوين بديل. بشكل افتراضي، يقوم tmux بتحميل ملف التكوين الخاص بالنظام من /etc/tmux.conf، إذا كان موجودًا، ثم يبحث عن ملف تكوين المستخدم في ~/.tmux.conf أو $XDG_CONFIG_HOME/tmux/tmux.conf.

ملف التكوين عبارة عن مجموعة من أوامر tmux التي يتم تنفيذها بالتسلسل عند بدء تشغيل الخادم لأول مرة. يقوم tmux بتحميل ملفات التكوين مرة واحدة عندما تبدأ عملية الخادم. يمكن استخدام الأمر source-file لتحميل ملف لاحقًا.

يعرض tmux أي رسائل خطأ من الأوامر الموجودة في ملفات التهيئة في الجلسة الأولى التي تم إنشاؤها، ويستمر في معالجة بقية ملف التهيئة.

-h            اطبع معلومات الاستخدام واخرج.

-L socket-name
يخزن tmux مقبس الخادم في دليل ضمن TMUX_TMPDIR أو /tmp إذا لم يتم تعيينه. الافتراضي هو default. يتيح هذا الخيار تحديد اسم مقبس مختلف، مما يسمح بتشغيل عدة خوادم tmux مستقلة. على عكس -S، ليست هناك حاجة إلى مسار كامل: يتم إنشاء جميع المقابس في دليل tmux-UID ضمن الدليل المحدد بواسطة TMUX_TMPDIR أو في /tmp. يتم إنشاء دليل tmux-UID بواسطة tmux ويجب ألا يكون قابلاً للقراءة أو الكتابة أو التنفيذ من قبل المستخدمين الآخرين.

إذا تمت إزالة المقبس عن طريق الخطأ، فقد يتم إرسال إشارة SIGUSR1 إلى عملية خادم tmux لإعادة إنشائه (لاحظ أن هذا سيفشل إذا كانت أي من الأدلة الأصلية مفقودة).

-l            تصرف كشجرة تسجيل دخول. لا يكون لهذا العلم أي تأثير حاليًا وهو مخصص للتوافق مع الأصداف الأخرى عند استخدام tmux كشجرة تسجيل دخول.

-N            لا تبدأ الخادم حتى إذا كان الأمر سيبدأه عادةً (على سبيل المثال، new-session أو start-server).

-S socket-path
حدد مسارًا بديلاً كاملاً لمقبس الخادم. إذا تم تحديد -S، فلا يتم استخدام دليل المقبس الافتراضي ويتم تجاهل أي علامة -L.

-T features   عيّن ميزات الطرفية للعميل. هذه قائمة مفصولة بفواصل من الميزات. راجع خيار terminal-features.

-u            اكتب إخراج UTF-8 إلى الطرفية حتى إذا لم يحتوي متغير البيئة الأول من LC_ALL أو LC_CTYPE أو LANG الذي تم تعيينه على "UTF-8" أو "UTF8".

-V            أبلغ عن إصدار tmux.

-v            اطلب تسجيلًا مطولاً. سيتم حفظ رسائل السجل في ملفات tmux-client-PID.log و tmux-server-PID.log في الدليل الحالي، حيث PID هو معرف عملية خادم أو عميل. إذا تم تحديد -v مرتين، يتم إنشاء ملف إضافي tmux-out-PID.log يحتوي على نسخة من كل ما يكتبه tmux إلى الطرفية.

يمكن إرسال إشارة SIGUSR2 إلى عملية خادم tmux للتبديل بين التسجيل (كما لو تم إعطاء -v) وإيقاف التشغيل.

command [flags]
يحدد هذا أحد مجموعة الأوامر المستخدمة للتحكم في tmux، كما هو موضح في الأقسام التالية. إذا لم يتم تحديد أي أوامر، فسيتم افتراض الأمر الموجود في default-client-command، والذي يكون افتراضيًا new-session.

روابط المفاتيح الافتراضية

يمكن التحكم في tmux من عميل متصل باستخدام مجموعة مفاتيح تتكون من مفتاح بادئة، 'C-b' (Ctrl-b) افتراضيًا، متبوعًا بمفتاح أمر.

روابط المفاتيح الافتراضية هي:

C-b         أرسل مفتاح البادئة (C-b) إلى التطبيق.
C-o         قم بتدوير الألواح في النافذة الحالية للأمام.
C-z         علق عميل tmux.
!           اخرج اللوحة الحالية من النافذة.
"           قسّم اللوحة الحالية إلى جزأين، أعلى وأسفل.
#           اعرض جميع المخازن المؤقتة للصق.
$           أعد تسمية الجلسة الحالية.
%           قسّم اللوحة الحالية إلى جزأين، يسار ويمين.
&           اقتل النافذة الحالية.
'           اطلب فهرس نافذة لتحديده.
(           قم بالتبديل إلى الجلسة السابقة التي تم إرفاق العميل بها.
)           قم بالتبديل إلى الجلسة التالية التي تم إرفاق العميل بها.
,           أعد تسمية النافذة الحالية.
-           احذف أحدث مخزن مؤقت للنص الذي تم نسخه.
.           اطلب فهرسًا لتحريك النافذة الحالية.
0 إلى 9      حدد النوافذ من 0 إلى 9.
:           ادخل في موجه أوامر tmux.
;           انتقل إلى اللوحة النشطة السابقة.
=           اختر المخزن المؤقت الذي تريد لصقه بشكل تفاعلي من قائمة.
?           اعرض جميع روابط المفاتيح.
D           اختر عميلًا للفصل عنه.
L           قم بالتبديل إلى الجلسة الأخيرة التي تم إرفاق العميل بها.
[           ادخل في وضع النسخ لنسخ النص أو لعرض السجل.
]           الصق أحدث مخزن مؤقت للنص الذي تم نسخه.
c           أنشئ نافذة جديدة.
d           افصل العميل الحالي.
f           اطلب البحث عن نص في النوافذ المفتوحة.
i           اعرض بعض المعلومات حول النافذة الحالية.
l           انتقل إلى النافذة المحددة السابقة.
m           ضع علامة على اللوحة الحالية (راجع select-pane -m).
M           امسح اللوحة التي تم وضع علامة عليها.
n           انتقل إلى النافذة التالية.
o           حدد اللوحة التالية في النافذة الحالية.
p           انتقل إلى النافذة السابقة.
q           اعرض لفترة وجيزة فهارس الألواح.
r           قم بإعادة رسم العميل المتصل بالقوة.
s           حدد جلسة جديدة للعميل المتصل بشكل تفاعلي.
t           اعرض الوقت.
w           اختر النافذة الحالية بشكل تفاعلي.
x           اقتل اللوحة الحالية.
z           قم بالتبديل بين حالة التكبير/التصغير للوحة الحالية.
{           قم بتبديل اللوحة الحالية مع اللوحة السابقة.
}           قم بتبديل اللوحة الحالية مع اللوحة التالية.
~           اعرض الرسائل السابقة من tmux، إن وجدت.
Page Up     ادخل في وضع النسخ وقم بالتمرير لصفحة واحدة للأعلى.
Up, Down
Left, Right
انتقل إلى اللوحة الموجودة أعلى أو أسفل أو يسار أو يمين اللوحة الحالية.
M-1 إلى 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.

تحليل وتنفيذ الأوامر

يدعم tmux عددًا كبيرًا من الأوامر التي يمكن استخدامها للتحكم في سلوكه. لكل أمر اسم ويمكن أن يقبل صفرًا أو أكثر من العلامات والوسائط. يمكن ربطها بمفتاح باستخدام الأمر bind-key أو تشغيلها من موجه الأوامر أو برنامج نصي shell أو ملف التكوين أو موجه الأوامر. على سبيل المثال، يمكن أن يبدو الأمر 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'، و'-g' هو علامة، و'status-style' و'bg=cyan' هما وسيطان.

يميز tmux بين تحليل الأوامر وتنفيذها. لتنفيذ أمر، يحتاج tmux إلى تقسيمه إلى اسمه ووسائطه. هذا هو تحليل الأمر. إذا تم تشغيل الأمر من shell، يقوم shell بتحليله؛ وإذا تم تشغيله من داخل tmux أو من ملف تكوين، يقوم tmux بذلك. تتضمن أمثلة الحالات التي يقوم فيها tmux بتحليل الأوامر ما يلي:

- في ملف تكوين؛
- مكتوبة في موجه الأوامر (انظر command-prompt)؛
- معطاة إلى bind-key؛
- يتم تمريرها كوسيطات إلى if-shell أو confirm-before.

لتنفيذ الأوامر، يحتوي كل عميل على "قائمة أوامر". يتم استخدام قائمة أوامر عالمية غير مرتبطة بأي عميل عند بدء التشغيل لملفات التكوين مثل ~/.tmux.conf. يتم تنفيذ الأوامر التي تم تحليلها وإضافتها إلى القائمة بالترتيب. تقوم بعض الأوامر، مثل if-shell وconfirm-before، بتحليل وسيطتها لإنشاء أمر جديد يتم إدراجه على الفور بعدهما. هذا يعني أنه يمكن تحليل الوسيطات مرتين أو أكثر - مرة واحدة عند تحليل الأمر الأصل (مثل if-shell) ومرة أخرى عند تحليلها وتنفيذها. تتوقف الأوامر مثل if-shell وrun-shell وdisplay-panes عن تنفيذ الأوامر اللاحقة في القائمة حتى يحدث شيء ما - if-shell وrun-shell حتى ينتهي أمر shell، وdisplay-panes حتى يتم الضغط على مفتاح.

على سبيل المثال، الأوامر التالية:

new-session; new-window
if-shell "true" "split-window"
kill-session

سيتم تنفيذ new-session وnew-window وif-shell وأمر shell "true"(1) وsplit-window وkill-session بهذا الترتيب.

يعرض قسم "الأوامر" أوامر tmux ووسائطها.

بناء جملة التحليل

يصف هذا القسم بناء جملة الأوامر التي يحللها tmux، على سبيل المثال في ملف تكوين أو في موجه الأوامر. لاحظ أنه عند إدخال الأوامر في shell، يتم تحليلها بواسطة shell - انظر على سبيل المثال ksh(1) أو csh(1).

ينتهي كل أمر بسطر جديد أو فاصلة منقوطة (;). تشكل الأوامر المفصولة بفاصلات منقوطة "تسلسل أوامر" - إذا واجه أمر في التسلسل خطأ، فلن يتم تنفيذ أي أوامر لاحقة.

يوصى بكتابة الفاصلة المنقوطة المستخدمة كفاصل للأوامر كرمز منفصل، على سبيل المثال من sh(1):

$ tmux neww \; splitw

أو:

$ tmux neww ';' splitw

أو من موجه أوامر tmux:


neww ; splitw

ومع ذلك، يتم أيضًا تفسير الفاصلة المنقوطة اللاحقة على أنها فاصل للأوامر، على سبيل المثال في هذه الأوامر sh(1):

$ tmux neww\; splitw

أو:

$ tmux 'neww;' splitw

كما في هذه الأمثلة، عند تشغيل tmux من سطر الأوامر، يجب توخي الحذر الشديد لضمان الاقتباس الصحيح للفواصل المنقوطة:

      يجب إلغاء أحرف الفواصل المنقوطة التي يجب تفسيرها كفاصل للأوامر وفقًا لقواعد سطر الأوامر. بالنسبة لـ [sh]({filename}../../sh)(1)، يعني هذا عادةً وضعها بين علامتي اقتباس (مثل ‘neww ;’ splitw’) أو إلغاء معناها (مثل ‘neww \; splitw’).

      يجب إلغاء الفواصل المنقوطة الفردية أو الفواصل المنقوطة اللاحقة التي يجب تفسيرها كوسيطات مرتين: مرة واحدة وفقًا لقواعد سطر الأوامر، ومرة أخرى لـ tmux؛ على سبيل المثال:

$ tmux neww 'foo\;' bar
$ tmux neww foo\\\; bar

      يجب إلغاء الفواصل المنقوطة التي ليست رموزًا فردية أو فواصل منقوطة تتبع رمزًا آخر مرة واحدة فقط وفقًا لقواعد سطر الأوامر؛ على سبيل المثال:

$ tmux neww 'foo-;-bar'
$ tmux neww foo-\;-bar

تُشير التعليقات إلى الأحرف غير المقتبسة # - يتم تجاهل أي نص متبقي بعد التعليق حتى نهاية السطر.

إذا كان آخر حرف في السطر هو \, يتم دمج السطر مع السطر التالي (يتم إزالة \, وعلامة السطر الجديد بالكامل). يسمى هذا استمرار السطر وينطبق داخل وخارج سلاسل الاقتباس وفي التعليقات، ولكن ليس داخل الأقواس المتعرجة.

يمكن تحديد وسيطات الأوامر كسلاسل محاطة بعلامات اقتباس مفردة (') أو مزدوجة (")، أو كقوائم أوامر محاطة بأقواس متعرجة {}. هذا مطلوب عندما يحتوي الوسيط على أي أحرف خاصة. لا يمكن أن تمتد سلاسل الاقتباس المفردة والمزدوجة إلى أسطُر متعددة باستثناء باستخدام استمرار السطر. يمكن أن تمتد الأقواس المتعرجة إلى أسطُر متعددة.

خارج علامات الاقتباس وداخل علامات الاقتباس المزدوجة، يتم إجراء الاستبدالات التالية:

-   يتم استبدال المتغيرات البيئية التي يسبقها $ بقيمتها من البيئة العامة (راجع قسم "البيئة العامة وبيئة الجلسة").

-   يتم توسيع ~ أو ~user إلى الدليل الرئيسي للمستخدم الحالي أو المحدد.

-   يتم استبدال \uXXXX أو \uXXXXXXXX بنقطة الترميز Unicode المقابلة للرقم السداسي العشري المكون من أربعة أو ثمانية أرقام.

-   عندما يسبقها (يتم إلغاؤها) بـ \, يتم استبدال الأحرف التالية: \e بحرف الإلغاء؛ \r بعلامة إرجاع السطر؛ \n بعلامة سطر جديد؛ و \t بعلامة جدولة.

-   يتم استبدال \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. انظر قسم "بيئة الجلسة والعامة".

يمكن تحليل الأوامر بشكل مشروط عن طريق وضعها بين ‘%if’ و ‘%elif’ و ‘%else’ و ‘%endif’. يتم توسيع الوسيطة الخاصة بـ ‘%if’ و ‘%elif’ كقالب (انظر "القوالب") وإذا كانت النتيجة خاطئة (صفر أو فارغة)، يتم تجاهل النص اللاحق حتى ‘%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

الأوامر

يصف هذا القسم الأوامر المدعومة بواسطة 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 يتم تجربته كالتالي، بالترتيب:

معرف الجلسة الذي يبدأ بـ $.

      اسم دقيق للجلسة (كما هو مدرج في الأمر list-sessions).

      بداية اسم الجلسة، على سبيل المثال، سيطابق ‘mysess’ جلسة تسمى ‘mysession’.

نمط glob(7) تتم مطابقته مع اسم الجلسة.

إذا تم وضع علامة '=' في بداية اسم الجلسة، يتم قبول التطابق الدقيق فقط (لذلك سيتطابق '=mysess' فقط مع 'mysess' بالضبط، وليس 'mysession').

إذا تم العثور على جلسة واحدة، يتم استخدامها كهدف للجلسة؛ ينتج عن وجود تطابقات متعددة حدوث خطأ. إذا تم حذف الجلسة، يتم استخدام الجلسة الحالية إذا كانت متوفرة؛ إذا لم تكن هناك جلسة حالية متاحة، يتم اختيار الجلسة التي تم استخدامها مؤخرًا.


`target-window` (أو `src-window` أو `dst-window`) تحدد نافذة بالصيغة `session:window`.
`session` تتبع نفس القواعد الخاصة بـ `target-session`، ويتم البحث عن `window` بالترتيب التالي:

رمز خاص، مُدرج أدناه.

فهرس النافذة، على سبيل المثال، `'mysession:1'` هي النافذة رقم 1 في الجلسة `'mysession'`.

معرف النافذة، مثل `@1`.

    اسم النافذة الدقيق، مثل `'mysession:mywindow'`.

    بداية اسم النافذة، مثل `'mysession:mywin'`.

    كنمط `glob(7)` تتم مطابقته مع اسم النافذة.

مثل الجلسات، سيقوم البادئة = بإجراء مطابقة دقيقة فقط. يشير اسم النافذة الفارغ إلى الفهرس التالي غير المستخدم إذا كان ذلك مناسبًا (على سبيل المثال، لأوامر new-window و link-window)، وإلا يتم اختيار النافذة الحالية في الجلسة.

تتوفر الرموز الخاصة التالية للإشارة إلى نوافذ معينة. لكل منها شكل بديل أحادي الحرف.

الرمز              المعنى
`{start}`       `^`    النافذة ذات أقل رقم
`{end}`         `$`    النافذة ذات أعلى رقم
`{last}`        `!`    النافذة الأخيرة (النافذة الحالية السابقة)
`{next}`        `+`    النافذة التالية بالرقم
`{previous}`    `-`    النافذة السابقة بالرقم

قد يكون `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}`             اللوحة الموجودة على يمين اللوحة النشطة

يمكن إضافة إزاحة إلى الرمزين + و -، على سبيل المثال:

`select-window -t:+2`

بالإضافة إلى ذلك، يمكن أن يتكون target-session أو target-window أو target-pane بالكامل من الرمز {mouse} (الشكل البديل =) لتحديد الجلسة أو النافذة أو اللوحة التي حدث فيها أحدث حدث للماوس (انظر قسم "دعم الماوس") أو {marked} (الشكل البديل ~) لتحديد اللوحة المميزة (انظر الأمر select-pane -m).

يتم ترقيم الجلسات والنوافذ واللوحات بمعرف فريد؛ يتم وضع بادئة لمعرفات الجلسة بـ $، والنوافذ بـ @، واللوحات بـ %. هذه فريدة ولا تتغير طوال عمر الجلسة أو النافذة أو اللوحة في خادم tmux. يتم تمرير معرف اللوحة إلى العملية الفرعية للوحة في متغير البيئة TMUX_PANE. يمكن عرض المعرفات باستخدام تنسيقات session_id أو window_id أو pane_id (انظر قسم "التنسيقات") والأوامر display-message أو list-sessions أو list-windows أو list-panes.


تعتبر وسائط أوامر shell أوامر sh(1). قد تكون هذه وسيطة واحدة يتم تمريرها إلى shell، على سبيل المثال:

new-window 'vi ~/.tmux.conf'

سيقوم بتشغيل:

/bin/sh -c 'vi ~/.tmux.conf'

بالإضافة إلى ذلك، تسمح أوامر new-window، و new-session، و split-window، و respawn-window و respawn-pane بإعطاء أمر shell كوسائط متعددة وتنفيذها مباشرةً (بدون استخدام 'sh -c'). يمكن أن يؤدي هذا إلى تجنب المشكلات المتعلقة بعلامات الاقتباس في shell. على سبيل المثال:

$ tmux new-window vi ~/.tmux.conf

سيقوم بتشغيل vi(1) مباشرةً دون استدعاء shell.

يشير الأمر [وسيطة ...] إلى أمر 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

العملاء والجلسات

يدير خادم tmux العملاء والجلسات والنوافذ والأجزاء. يتم ربط العملاء بالجلسات للتفاعل معها، إما عند إنشائها باستخدام الأمر new-session، أو لاحقًا باستخدام الأمر attach-session. تحتوي كل جلسة على نافذة واحدة أو أكثر مرتبطة بها. يمكن ربط النوافذ بجلسات متعددة وتتكون من جزء واحد أو أكثر، يحتوي كل جزء على طرفية وهمية. تغطي الأوامر الخاصة بإنشاء وربط والتعامل مع النوافذ والأجزاء في قسم "النوافذ والأجزاء".

تتوفر الأوامر التالية لإدارة العملاء والجلسات:

attach-session [-dErx] [-c working-directory] [-f flags] [-t target-session]
(alias: attach)
إذا تم تشغيله من خارج tmux، فإنه يربط العميل بالجلسة المستهدفة في الطرفية الحالية. يجب أن تكون الجلسة المستهدفة موجودة بالفعل - لإنشاء جلسة جديدة، راجع الأمر new-session (مع الخيار -A لإنشاء أو ربط). إذا تم استخدامه من الداخل، فإنه يقوم بتبديل الجلسة المرفقة الحالية إلى الجلسة المستهدفة. إذا تم تحديد الخيار -d، فسيتم فصل أي عملاء آخرين متصلين بالجلسة. إذا تم إعطاء الخيار -x، فسيتم إرسال إشارة SIGHUP إلى العملية الأصلية للعميل بالإضافة إلى فصل العميل، مما يتسبب عادةً في خروجه. يقوم الخيار -f بتعيين قائمة مفصولة بفواصل من علامات العميل. تشمل العلامات ما يلي:

active-pane
يحتوي العميل على لوحة نشطة مستقلة

ignore-size
لا يؤثر العميل على حجم العملاء الآخرين

no-detach-on-destroy
لا يتم فصل العميل عند تدمير الجلسة التي تم إرفاقه بها إذا كانت هناك جلسات أخرى

no-output
لا يستقبل العميل مخرجات اللوحة في وضع التحكم

pause-after=seconds
يتم إيقاف المخرجات مؤقتًا بمجرد أن تكون اللوحة متأخرة بمقدار ثوانٍ في وضع التحكم

read-only
العميل للقراءة فقط

wait-exit
انتظر إدخال سطر فارغ قبل الخروج في وضع التحكم

يؤدي إضافة علامة "!" في البداية إلى إيقاف تشغيل العلامة إذا كان العميل مرفقًا بالفعل. `-r` هو اسم مستعار لـ `-f read-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] [-E shell-command] [-s target-session] [-t target-client]
(اسم مستعار: detach)
افصل العميل الحالي إذا كان مرتبطًا بمفتاح، أو العميل المحدد باستخدام `-t`، أو جميع العملاء المتصلين حاليًا بالجلسة المحددة بواسطة `-s`. يؤدي خيار `-a` إلى إنهاء جميع العملاء باستثناء العميل المحدد باستخدام `-t`. إذا تم إعطاء `-P`، فأرسل إشارة `SIGHUP` إلى العملية الأصلية للعميل، مما يتسبب عادةً في خروجها. باستخدام `-E`، قم بتشغيل `shell-command` لاستبدال العميل.

has-session [-t target-session]
(اسم مستعار: has)
أبلغ عن خطأ واخرج برمز 1 إذا لم تكن الجلسة المحددة موجودة. إذا كانت موجودة، فاخرج برمز 0.

kill-server
اقتل خادم tmux والعملاء وقم بتدمير جميع الجلسات.

kill-session [-aC] [-t target-session]
قم بتدمير الجلسة المعطاة، وإغلاق أي نوافذ مرتبطة بها، وعدم تدمير أي جلسات أخرى، وفصل جميع العملاء المتصلين بها. إذا تم إعطاء `-a`، فسيتم إنهاء جميع الجلسات باستثناء الجلسة المحددة. يقوم علم `-C` بمسح التنبيهات (جرس، نشاط، أو صمت) في جميع النوافذ المرتبطة بالجلسة.

list-clients [-F format] [-f filter] [-t target-session]
(اسم مستعار: lsc)
سرد جميع العملاء المتصلين بالخادم. يحدد `-F` تنسيق كل سطر و`-f` مرشحًا. يتم عرض العملاء فقط التي يكون المرشح صحيحًا لها. راجع قسم "التنسيقات". إذا تم تحديد `target-session`، فسرد فقط العملاء المتصلين بهذه الجلسة.

list-commands [-F format] [command]
(alias: lscm)

اعرض بناء الجملة للأمر أو - إذا لم يتم تحديده - لجميع الأوامر التي يدعمها tmux.

list-sessions [-F format] [-f filter]
(alias: ls)

اعرض جميع الجلسات التي يديرها الخادم. يحدد -F تنسيق كل سطر و -f مرشحًا. يتم عرض الجلسات فقط التي يكون المرشح فيها صحيحًا. راجع قسم "التنسيقات".

lock-client [-t target-client]
(alias: lockc)

قفل العميل الهدف، انظر أمر lock-server.

lock-session [-t target-session]
(alias: locks)

قفل جميع العملاء المتصلين بالجلسة الهدف.

new-session [-AdDEPX] [-c start-directory] [-e environment] [-f flags] [-F format] [-n window-name] [-s session-name] [-t group-name] [-x width] [-y height] [shell-command argument ...]
(alias: new)

أنشئ جلسة جديدة باسم session-name.

تتم إضافة الجلسة الجديدة إلى الطرفية الحالية ما لم يتم إعطاء -d. window-name و shell-command هما اسم الجلسة والبرنامج النصي الذي سيتم تنفيذه في النافذة الأولية. باستخدام -d، يأتي الحجم الأولي من خيار default-size العام. يمكن استخدام -x و -y لتحديد حجم مختلف. يستخدم '-' حجم العميل الحالي إذا كان موجودًا. إذا تم إعطاء -x أو -y، يتم تعيين خيار default-size للجلسة. يحدد -f قائمة مفصولة بفواصل من علامات العميل (انظر attach-session).

إذا تم تشغيله من طرفية، يتم حفظ أي أحرف خاصة من termios (4) واستخدامها للنافذة الجديدة في الجلسة الجديدة.

يجعل الخيار -A، الأمر new-session يتصرف مثل الأمر attach-session إذا كانت session-name موجودة بالفعل. إذا تم إعطاء -A، يتصرف -D مثل -d للأمر attach-session، ويتصرف -X مثل -x للأمر attach-session.

إذا تم إعطاء -t، فإنه يحدد مجموعة الجلسات. تشترك الجلسات الموجودة في نفس المجموعة في نفس مجموعة النوافذ - يتم ربط النوافذ الجديدة بجميع الجلسات في المجموعة، ويتم إزالة أي نوافذ مغلقة من جميع الجلسات. تظل النافذة الحالية والنافذة السابقة وأي خيارات جلسة مستقلة، ويمكن إنهاء أي جلسة في المجموعة دون التأثير على الجلسات الأخرى. يمكن أن يكون اسم المجموعة هو:

اسم مجموعة موجودة، وفي هذه الحالة تتم إضافة الجلسة الجديدة إلى تلك المجموعة.

اسم جلسة موجودة - تتم إضافة الجلسة الجديدة إلى نفس مجموعة تلك الجلسة، مما يؤدي إلى إنشاء مجموعة جديدة إذا لزم الأمر.

اسم لمجموعة جديدة تحتوي فقط على الجلسة الجديدة.

لا يمكن استخدام -n و shell-command إذا تم استخدام -t.

يعرض الخيار -P معلومات حول الجلسة الجديدة بعد إنشائها. افتراضيًا، يستخدم التنسيق '#{session_name}:'، ولكن يمكن تحديد تنسيق مختلف باستخدام -F.

إذا تم استخدام -E، فلن يتم تطبيق الخيار update-environment. يأخذ -e الشكل 'VARIABLE=value' ويعين متغير بيئة للجلسة التي تم إنشاؤها حديثًا. يمكن تحديده عدة مرات.

refresh-client [-cDLRSU] [-A pane:state] [-B name:what:format] [-C size] [-f flags] [-l [target-pane]] [-r pane:report] [-t target-client] [adjustment]
(alias: refresh)

قم بتحديث العميل الحالي إذا كان مرتبطًا بمفتاح، أو عميل واحد إذا تم تحديده باستخدام -t. إذا تم تحديد -S، فقم بتحديث سطر الحالة الخاص بالعميل فقط.


تسمح العلامات -U و -D و -L و -R و -c بتغيير الجزء المرئي من نافذة أكبر من العميل. ينقل -U الجزء المرئي للأعلى بعدد الصفوف المحدد، و -D للأسفل، و -L لليسار بعدد الأعمدة المحدد، و -R لليمين. يعيد -c إلى تتبع المؤشر تلقائيًا. إذا لم يتم تحديد قيمة التعديل، يتم استخدام القيمة 1. لاحظ أن الموضع المرئي هو خاصية للعميل وليس للنافذة، وتغيير النافذة الحالية في الجلسة المرفقة سيعيد تعيينه.

^ C يحدد عرض وارتفاع عميل وضع التحكم أو نافذة لعميل وضع التحكم، يجب أن تكون القيمة إما 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). إذا تم إعطاء target-pane، فسيتم إرسال الحافظة (بشكل مشفر)، وإلا فسيتم تخزينها في مخزن مؤقت جديد.

^ L و -R و -U و -D تنقل الجزء المرئي من النافذة إلى اليسار أو اليمين أو الأعلى أو الأسفل بقيمة التعديل، إذا كانت النافذة أكبر من العميل. يعيد -c إلى تتبع الموضع تلقائيًا. انظر خيار window-size.

^ ename-session [-t target-session] new-name (اسم مستعار: rename) أعد تسمية الجلسة إلى new-name.

^ erver-access [-adlrw] [user] تغيير الوصول أو إذن القراءة / الكتابة للمستخدم. لا يمكن تغيير المستخدم الذي يقوم بتشغيل خادم tmux (مالكه) ومستخدم الجذر ولا يمكن تغيير إذن الوصول الخاص بهما.


-a و -d تُستخدمان لإعطاء أو إلغاء صلاحية الوصول للمستخدم المحدد. إذا كان المستخدم مرتبطًا بالفعل، فإن العلامة -d تتسبب في فصل عملائه.

-r و -w تعدلان الأذونات للمستخدم: -r تجعل عملائه للقراءة فقط و -w قابلة للكتابة. -l تعرض الأذونات الحالية.

افتراضيًا، تكون قائمة الوصول فارغة وتقوم tmux بإنشاء مقابس بأذونات نظام الملفات التي تمنع الوصول من أي مستخدم بخلاف المالك (والمستخدم الجذر). يجب تغيير هذه الأذونات يدويًا. يجب توخي الحذر الشديد لتجنب السماح بالوصول إلى المستخدمين غير الموثوق بهم، حتى للقراءة فقط.

show-messages [-JT] [-t target-client]
(اختصار: showmsgs)
عرض رسائل أو معلومات الخادم. يتم تخزين الرسائل، حتى الحد الأقصى المحدد بواسطة خيار الخادم message-limit. -J و -T يعرضان معلومات تصحيح الأخطاء حول المهام والمحطات الطرفية.

source-file [-Fnqv] [-t target-pane] path ...
(اختصار: source)
تنفيذ الأوامر من ملف أو أكثر محددة بواسطة المسار (والذي قد يكون أنماط glob(7)). إذا كانت -F موجودة، يتم توسيع المسار كتنسيق. إذا تم إعطاء -q، فلن يتم إرجاع أي خطأ إذا لم يكن المسار موجودًا. مع -n، يتم تحليل الملف ولكن لا يتم تنفيذ أي أوامر. -v يعرض الأوامر التي تم تحليلها وأرقام الأسطر إن أمكن.

start-server
(اختصار: start)
بدء تشغيل خادم tmux، إذا لم يكن قيد التشغيل بالفعل، دون إنشاء أي جلسات.

لاحظ أنه افتراضيًا، سينتهي خادم tmux إذا لم تكن هناك أي جلسات، لذلك هذا مفيد فقط إذا تم إنشاء جلسة في ~/.tmux.conf، أو تم إيقاف تشغيل exit-empty، أو يتم تشغيل أمر آخر كجزء من نفس تسلسل الأوامر. على سبيل المثال:

$ tmux start \; show -g

suspend-client [-t target-client]
(اختصار: suspendc)
تعليق عميل عن طريق إرسال SIGTSTP (إيقاف المحطة الطرفية).

switch-client [-ElnprZ] [-c target-client] [-t target-session] [-T key-table]
(اختصار: switchc)
تبديل الجلسة الحالية للعميل target-client إلى target-session. كحالة خاصة، يمكن أن يشير -t إلى لوحة (هدف يحتوي على ':' أو '.' أو '%')، لتغيير الجلسة والنافذة واللوحة. في هذه الحالة، يحتفظ -Z بالنافذة مكبرة إذا كانت مكبرة. إذا تم استخدام -l أو -n أو -p، يتم نقل العميل إلى الجلسة الأخيرة أو التالية أو السابقة على التوالي.
-r يبدل بين علامات القراءة فقط وignore-size (انظر الأمر attach-session).

إذا تم استخدام -E، فلن يتم تطبيق خيار update-environment.

-T يحدد جدول مفاتيح العميل؛ سيتم تفسير المفتاح التالي من العميل من key-table. يمكن استخدام هذا لتكوين مفاتيح بادئة متعددة، أو لربط الأوامر بتسلسلات من المفاتيح. على سبيل المثال، لجعل كتابة "abc" تشغل الأمر list-keys:

bind-key -Ttable2 c list-keys
bind-key -Ttable1 b switch-client -Ttable2
bind-key -Troot a switch-client -Ttable1

النوافذ والألواح

يمكن تقسيم كل نافذة معروضة بواسطة tmux إلى لوحة واحدة أو أكثر؛ تشغل كل لوحة مساحة معينة من الشاشة وهي محطة طرفية منفصلة. يمكن تقسيم النافذة إلى ألواح باستخدام الأمر split-window. يمكن تقسيم النوافذ أفقيًا (باستخدام العلامة -h) أو رأسيًا. يمكن تغيير حجم الألواح باستخدام الأمر resize-pane (مرتبط بـ "C-Up" و "C-Down" و "C-Left" و "C-Right" افتراضيًا)، ويمكن تغيير اللوحة الحالية باستخدام الأمر select-pane، ويمكن استخدام الأمرين rotate-window و swap-pane لتبديل الألواح دون تغيير موضعها. يتم ترقيم الألواح بدءًا من الصفر بالترتيب الذي تم إنشاؤها به.

بشكل افتراضي، يسمح لوحة tmux بالوصول المباشر إلى الوحدة الطرفية الموجودة في اللوحة. يمكن أيضًا وضع اللوحة في أحد الأوضاع التالية:

  • وضع النسخ، الذي يسمح بنسخ جزء من نافذة أو سجلها إلى مخزن مؤقت للنسخ واللصق لإدراجه لاحقًا في نافذة أخرى. يتم الدخول إلى هذا الوضع باستخدام الأمر copy-mode، والذي يتم ربطه افتراضيًا بـ [. يمكن لصق النص المنسوخ باستخدام الأمر paste-buffer، والذي يتم ربطه افتراضيًا بـ ].

  • وضع العرض، وهو مشابه لوضع النسخ ولكن يتم الدخول إليه عند تنفيذ أمر ينتج عنه إخراج، مثل list-keys، من خلال ربط مفتاح.

  • وضع الاختيار، الذي يسمح باختيار عنصر من قائمة. قد يكون هذا العميل أو الجلسة أو النافذة أو اللوحة، أو المخزن المؤقت. يتم الدخول إلى هذا الوضع باستخدام الأوامر 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]

نسخ السطر بأكمله.


نسخ-السطر-و-إلغاء [-CP] [بادئة]
انسخ السطر بأكمله واخرج من وضع النسخ.

نسخ-سطر-بايب [-CP] [الأمر] [بادئة]
انسخ السطر بأكمله وقم بتمريره إلى الأمر. تُستخدم البادئة لتسمية مخزن اللصق الجديد.

نسخ-سطر-بايب-و-إلغاء [-CP] [الأمر] [بادئة]
نفس `نسخ-سطر-بايب` ولكن أيضًا يخرج من وضع النسخ.

نسخ-بايب [-CP] [الأمر] [بادئة]
انسخ التحديد وقم بمسحه وقم بتمريره إلى الأمر. تُستخدم البادئة لتسمية مخزن اللصق الجديد.

نسخ-بايب-بدون-مسح [-CP] [الأمر] [بادئة]
نفس `نسخ-بايب` ولكن لا تقم بمسح التحديد.

نسخ-بايب-و-إلغاء [-CP] [الأمر] [بادئة]
نفس `نسخ-بايب` ولكن أيضًا يخرج من وضع النسخ.

نسخ-التحديد [-CP] [بادئة]
انسخ التحديد الحالي.

نسخ-التحديد-بدون-مسح [-CP] [بادئة]
نفس `نسخ-التحديد` ولكن لا تقم بمسح التحديد.

نسخ-التحديد-و-إلغاء [-CP] [بادئة] (vi: Enter) (emacs: M-w)
انسخ التحديد الحالي واخرج من وضع النسخ.

سهم-للأسفل (vi: j) (emacs: Down)
حرّك المؤشر للأسفل.

سهم-للأسفل-و-إلغاء
نفس `سهم-للأسفل` ولكن أيضًا يخرج من وضع النسخ إذا تم الوصول إلى الأسفل.

سهم-لليسار (vi: h) (emacs: Left)
حرّك المؤشر لليسار.

سهم-لليمين (vi: l) (emacs: Right)
حرّك المؤشر لليمين.

سهم-للأعلى (vi: k) (emacs: Up)
حرّك المؤشر للأعلى.

توسيط-عمودي (emacs: C-l)
حرّك المؤشر إلى المنتصف العمودي للوحة.

توسيط-أفقي (emacs: M-l)
حرّك المؤشر إلى المنتصف الأفقي للوحة.

نهاية-السطر (vi: $) (emacs: C-e)
حرّك المؤشر إلى نهاية السطر.

انتقل-إلى-السطر السطر (vi: :) (emacs: g)
حرّك المؤشر إلى سطر محدد.

نصف-صفحة-للأسفل (vi: C-d) (emacs: M-Down)
مرّر للأسفل بمقدار نصف صفحة.

نصف-صفحة-للأسفل-و-إلغاء
نفس `نصف-صفحة-للأسفل` ولكن أيضًا يخرج من وضع النسخ إذا تم الوصول إلى الأسفل.

نصف-صفحة-للأعلى (vi: C-u) (emacs: M-Up)
مرّر للأعلى بمقدار نصف صفحة.

أسفل-السجل (vi: G) (emacs: M->)
مرّر إلى أسفل السجل.

أعلى-السجل (vi: g) (emacs: M-<)
مرّر إلى أعلى السجل.

القفز-مرة-أخرى (vi: ;) (emacs: ;)
كرّر آخر قفزة.

القفز-للخلف إلى (vi: F) (emacs: F)
اقفز للخلف إلى النص المحدد.

القفز-للأمام إلى (vi: f) (emacs: f)
اقفز للأمام إلى النص المحدد.

القفز-العكس (vi: ,) (emacs: ,)
كرّر آخر قفزة في الاتجاه المعاكس (الأمام يصبح للخلف والخلف يصبح للأمام).

القفز-إلى-الخلف إلى (vi: T)
اقفز للخلف، ولكن بحرف واحد أقل، وضع المؤشر على الحرف الذي يلي الهدف.

القفز-إلى-الأمام إلى (vi: t)
اقفز للأمام، ولكن بحرف واحد أقل، وضع المؤشر على الحرف الذي يسبق الهدف.

القفز-إلى-العلامة (vi: M-x) (emacs: M-x)
اقفز إلى آخر علامة.

منتصف-السطر (vi: M) (emacs: M-r)
انتقل إلى السطر الأوسط.

التالي-مطابق-قوس (vi: %) (emacs: M-C-f)
انتقل إلى القوس المطابق التالي.

التالي-فقرة (vi: }) (emacs: M-})
انتقل إلى الفقرة التالية.

التالي-موجه [-o]
انتقل إلى الموجه التالي.

التالي-كلمة (vi: w)
انتقل إلى الكلمة التالية.

نهاية-الكلمة-التالية (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]

مرر النص المحدد إلى الأمر وقم بمسح التحديد.

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)

بدّل وضع تحديد المستطيل.

refresh-from-pane (vi: r) (emacs: r)

جدد المحتوى من الجزء.

scroll-bottom

مرر للأعلى حتى يصبح السطر الحالي في الأسفل مع الاحتفاظ بالمؤشر على هذا السطر.

scroll-down (vi: C-e) (emacs: C-Down)

مرر لأسفل.

scroll-down-and-cancel

نفس وظيفة scroll-down ولكن قم أيضًا بالخروج من وضع النسخ إذا وصل المؤشر إلى الأسفل.

scroll-middle (vi: z)

مرر بحيث يصبح السطر الحالي هو السطر الأوسط مع الاحتفاظ بالمؤشر على هذا السطر.

scroll-top

مرر للأعلى حتى يصبح السطر الحالي في الأعلى مع الاحتفاظ بالمؤشر على هذا السطر.

scroll-up (vi: C-y) (emacs: C-Up)

مرر للأعلى.

search-again (vi: n) (emacs: n)

كرر البحث الأخير.

search-backward text (vi: ?)

ابحث للخلف عن النص المحدد.

search-backward-incremental text (emacs: C-r)

ابحث للخلف بشكل تدريجي عن النص المحدد. من المتوقع استخدامه مع العلم -i الخاص بأمر command-prompt.

search-backward-text text

ابحث للخلف عن النص العادي المحدد.

search-forward text (vi: /)

ابحث للأمام عن النص المحدد.

search-forward-incremental text (emacs: C-s)

ابحث للأمام بشكل تدريجي عن النص المحدد. من المتوقع استخدامه مع العلم -i الخاص بأمر command-prompt.

search-forward-text text

ابحث للأمام عن النص العادي المحدد.

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 في أمر سطر الأوامر. ‘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’ وهكذا). تأخذ أوامر الأنابيب وسيطًا للأمر، وهو الأمر الذي يتم توجيه النص المحدد إليه. تقوم متغيرات ‘copy-pipe’ أيضًا بنسخ التحديد. تقوم متغيرات ‘-and-cancel’ لبعض الأوامر بالخروج من وضع النسخ بعد الانتهاء (لأوامر النسخ) أو عند وصول المؤشر إلى الأسفل (لأوامر التمرير). لا تقوم متغيرات ‘-no-clear’ بمسح التحديد. يمكن أن تأخذ جميع أوامر النسخ العلامتين -C و -P. تقوم العلامة -C بقمع تعيين الحافظة الطرفية عند النسخ، بينما تقوم العلامة -P بقمع إضافة مخزن مؤقت للنسخ بالنص.

تتخطى مفاتيح الكلمة التالية والسابقة المسافات البيضاء وتتعامل مع التشغيلات المتتالية من الفواصل بين الكلمات أو الأحرف الأخرى على أنها كلمات. يمكن تخصيص الفواصل بين الكلمات باستخدام خيار الجلسة word-separators. تنقل الكلمة التالية إلى بداية الكلمة التالية، وتنقل الكلمة التالية إلى نهاية الكلمة التالية، وتنقل الكلمة السابقة إلى بداية الكلمة السابقة. تعمل مفاتيح المسافة التالية والسابقة الثلاثة بشكل مماثل ولكنها تستخدم مسافة واحدة كفاصل بين الكلمات. يؤدي تعيين word-separators إلى سلسلة فارغة يجعل الكلمة التالية/الكلمة السابقة مكافئًا للمسافة التالية/المسافة السابقة.

تمكن أوامر الانتقال الحركة السريعة داخل السطر. على سبيل المثال، يؤدي كتابة ‘f’ متبوعة بـ ‘/’ إلى نقل المؤشر إلى حرف ‘/’ التالي في السطر الحالي. ثم سيؤدي ‘;’ إلى الانتقال إلى التكرار التالي.


يمكن أن يسبق الأوامر في وضع النسخ عدد تكرار اختياري. مع روابط مفاتيح vi، يتم إدخال بادئة باستخدام مفاتيح الأرقام؛ مع emacs، يبدأ الضغط على مفتاح Alt (meta) ورقم بادئة الإدخال.

ملخص أمر وضع النسخ هو:

copy-mode [-deHMqSu] [-s src-pane] [-t target-pane]
يدخل وضع النسخ.

-u يدخل وضع النسخ ويقوم بالتمرير لأسفل صفحة واحدة و -d صفحة واحدة لأعلى. -H يخفي مؤشر الموضع في الزاوية العلوية اليمنى. -q يلغي وضع النسخ وأي أوضاع أخرى.

-M يبدأ سحب الماوس (صالح فقط إذا كان مرتبطًا بربط مفتاح الماوس، انظر "دعم الماوس").
-S يقوم بالتمرير عند ربطه بحدث سحب الماوس؛ على سبيل المثال، يتم ربط copy-mode -Se بـ MouseDrag1ScrollbarSlider افتراضيًا.

-s ينسخ من src-pane بدلاً من target-pane.

-e يحدد أنه يجب أن يؤدي التمرير إلى أسفل السجل (إلى الشاشة المرئية) إلى الخروج من وضع النسخ. أثناء وجوده في وضع النسخ، سيؤدي الضغط على مفتاح آخر غير المستخدم للتمرير إلى تعطيل هذا السلوك. هذا مخصص للسماح بالتمرير السريع عبر سجل لوحة، على سبيل المثال باستخدام:

bind PageUp copy-mode -eu
bind PageDown copy-mode -ed

تتوفر عدد من الترتيبات المحددة مسبقًا للوحات، ويُطلق عليها اسم التخطيطات. يمكن تحديد هذه التخطيطات باستخدام الأمر 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] [-F format] [-n window-name] [-s src-pane] [-t dst-window]
(alias: breakp)

افصل الجزء src-pane عن النافذة التي تحتويه واجعله الجزء الوحيد في النافذة dst-window. مع -a أو -b، يتم نقل النافذة إلى الفهرس التالي أو الذي يسبقه (يتم نقل النوافذ الموجودة إذا لزم الأمر). إذا تم إعطاء -d، فلن تصبح النافذة الجديدة النافذة الحالية. خيار -P يطبع معلومات حول النافذة الجديدة بعد إنشائها. بشكل افتراضي، يستخدم التنسيق ‘#{session_name}:#{window_index}.#{pane_index}'، ولكن يمكن تحديد تنسيق مختلف باستخدام -F.

capture-pane [-aepPqCJMN] [-b buffer-name] [-E end-line] [-S start-line] [-t target-pane]
(alias: capturep)

التقط محتويات جزء. إذا تم إعطاء -p، فإن الإخراج يذهب إلى stdout، وإلا فإنه يذهب إلى المخزن المؤقت المحدد بواسطة -b أو مخزن مؤقت جديد إذا لم يتم تحديده. إذا تم إعطاء -a، يتم استخدام الشاشة البديلة، ولا يمكن الوصول إلى السجل. إذا لم تكن هناك شاشة بديلة، فسيتم إرجاع خطأ ما لم يتم إعطاء -q. وبالمثل، إذا كان الجزء في وضع ما، يستخدم -M الشاشة لهذا الوضع. إذا تم إعطاء -e، فإن الإخراج يتضمن تسلسلات الهروب للنص وسمات الخلفية. -C أيضًا يقوم بإلغاء أحرف غير قابلة للطباعة كتسلسلات ثمانية -xxx. -T يتجاهل المواضع اللاحقة التي لا تحتوي على حرف. -N يحافظ على المسافات اللاحقة في نهاية كل سطر، و -J يحافظ على المسافات اللاحقة ويربط أي أسطر ممتدة؛ -J يعني -T. يحددان -S و -E أرقام الأسطر البادئة والنهائية، حيث يكون الصفر هو السطر الأول من الجزء المرئي والأرقام السالبة هي الأسطر الموجودة في السجل. يشير ‘-’ إلى -S إلى بداية السجل وإلى -E إلى نهاية الجزء المرئي. بشكل افتراضي، يتم التقاط المحتويات المرئية فقط للجزء.

choose-client [-NryZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-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   تبديل المعاينة
q   الخروج من الوضع

بعد اختيار العميل، يتم استبدال "%%" باسم العميل في القالب، ويتم تنفيذ النتيجة كأمر. إذا لم يتم توفير قالب، فسيتم استخدام "detach-client -t '%%'".

-O يحدد حقل الترتيب الأولي: أحد "name" أو "size" أو "creation" (الوقت) أو "activity" (الوقت). -r يعكس ترتيب الفرز. -f يحدد الفلتر الأولي: الفلتر هو تنسيق - إذا تم تقييمه على أنه صفر، فلن يتم عرض العنصر في القائمة، وإلا فسيتم عرضه. إذا أدى الفلتر إلى قائمة فارغة، فسيتم تجاهله. -F يحدد التنسيق لكل عنصر في القائمة و -K تنسيق لكل مفتاح اختصار؛ يتم تقييم كليهما مرة واحدة لكل سطر. -N يبدأ بدون المعاينة أو إذا تم إعطاؤه مرتين، فيبدأ بالمعاينة الأكبر. يعمل هذا الأمر فقط إذا تم إرفاق عميل واحد على الأقل.

choose-tree [-GNrswyZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane] [template] ضع لوحة في وضع الشجرة، حيث يمكن اختيار جلسة أو نافذة أو لوحة بشكل تفاعلي من شجرة. يتم عرض كل جلسة أو نافذة أو لوحة في سطر واحد. يتم عرض مفتاح اختصار على اليسار بين قوسين للسماح بالاختيار الفوري، أو يمكن التنقل في الشجرة ويمكن اختيار عنصر أو معالجته باستخدام المفاتيح أدناه. -s يبدأ مع الجلسات المطوية و -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   بدّل المعاينة
q   اخرج من الوضع

بعد اختيار جلسة أو نافذة أو لوحة، يتم استبدال المثيل الأول من "%%" وجميع مثيلات "‎%1" بالهدف في القالب ويتم تنفيذ النتيجة كأمر. إذا لم يتم توفير قالب، فسيتم استخدام "switch-client -t '%%'".

-O يحدد حقل الترتيب الأولي: أحد "index" أو "name" أو "time" (النشاط). -r يعكس ترتيب الفرز. -f يحدد الفلتر الأولي: الفلتر هو تنسيق - إذا تم تقييمه على أنه صفر، فلن يتم عرض العنصر، وإلا فسيتم عرضه. إذا أدى الفلتر إلى قائمة فارغة، فسيتم تجاهله. -F يحدد التنسيق لكل عنصر في الشجرة و -K تنسيق لكل مفتاح اختصار؛ يتم تقييم كليهما مرة واحدة لكل سطر. -N يبدأ بدون المعاينة أو إذا تم إعطاؤه مرتين، فيبدأ بالمعاينة الأكبر. -G يتضمن جميع الجلسات في أي مجموعات جلسات في الشجرة بدلاً من الجلسة الأولى فقط. يعمل هذا الأمر فقط إذا تم إرفاق عميل واحد على الأقل.


customize-mode [-NZ] [-F format] [-f filter] [-t target-pane] [template]
ضع لوحة في وضع التخصيص، حيث يمكن تصفح الخيارات وربط المفاتيح وتعديلها من قائمة. يتم عرض قيم الخيارات في القائمة للوحة النشطة في النافذة الحالية. يقوم الخيار -Z بتكبير اللوحة. يمكن استخدام المفاتيح التالية في وضع التخصيص:

المفتاح الوظيفة
Enter   تعيين قيمة خيار اللوحة أو النافذة أو الجلسة أو العام
Up  تحديد العنصر السابق
Down    تحديد العنصر التالي
    +   توسيع العنصر المحدد
    -   طي العنصر المحدد
    M-+ توسيع جميع العناصر
    M-- طي جميع العناصر
    s   تعيين قيمة الخيار أو سمة المفتاح
    S   تعيين قيمة الخيار العام
    w   تعيين قيمة خيار النافذة، إذا كان الخيار مخصصًا للوحة والنافذة
    d   تعيين خيار أو مفتاح إلى القيمة الافتراضية
    D   تعيين الخيارات والمفاتيح الموسومة إلى القيمة الافتراضية
    u   إلغاء تعيين خيار (تعيينه إلى القيمة الافتراضية إذا كان عامًا) أو إلغاء ربط مفتاح
    U   إلغاء تعيين الخيارات الموسومة وإلغاء ربط المفاتيح الموسومة
    C-s البحث بالاسم
    n   تكرار آخر بحث للأمام
    N   تكرار آخر بحث للخلف
    t   تبديل ما إذا كان العنصر موسومًا
    T   عدم وضع علامة على أي عنصر
    C-t وضع علامة على جميع العناصر
    f   إدخال تنسيق لتصفية العناصر
    v   تبديل معلومات الخيار
    q   الخروج من الوضع

يحدد -f مرشحًا أوليًا: المرشح هو تنسيق - إذا تم تقييمه إلى صفر، فلن يتم عرض العنصر في القائمة، وإلا فسيتم عرضه. إذا أدى المرشح إلى قائمة فارغة، فسيتم تجاهله. يحدد -F التنسيق لكل عنصر في الشجرة. يبدأ -N بدون معلومات الخيار. يعمل هذا الأمر فقط إذا كان متصلاً بعميل واحد على الأقل.

display-panes [-bN] [-d duration] [-t target-client] [template]
(اختصار: displayp)
يعرض مؤشرًا مرئيًا لكل لوحة معروضة بواسطة العميل المستهدف. انظر خيارات الجلسة display-panes-colour و display-panes-active-colour. يتم إغلاق المؤشر عند الضغط على مفتاح (إلا إذا تم إعطاء -N) أو بعد مرور مدة بالمللي ثانية. إذا لم يتم إعطاء -d، فسيتم استخدام display-panes-time. تعني المدة الصفرية أن المؤشر يظل حتى يتم الضغط على مفتاح. أثناء عرض المؤشر على الشاشة، يمكن تحديد لوحة باستخدام المفاتيح '0' إلى '9'، مما سيؤدي إلى تنفيذ القالب كأمر مع استبدال '%%' بمعرف اللوحة. القالب الافتراضي هو "select-pane -t '%%'". مع -b، لا يتم حظر الأوامر الأخرى عن التنفيذ حتى يتم إغلاق المؤشر.

find-window [-iCNrTZ] [-t target-pane] match-string
(اختصار: findw)
ابحث عن نمط glob(7) أو، باستخدام -r، تطابق التعبير العادي match-string في أسماء النوافذ والعناوين والمحتوى المرئي (وليس السجل). تتحكم العلامات في سلوك المطابقة: -C يطابق فقط محتوى النافذة المرئي، و -N يطابق فقط اسم النافذة و -T يطابق فقط عنوان النافذة. يجعل -i البحث يتجاهل حالة الأحرف. الافتراضي هو -CNT. يقوم -Z بتكبير اللوحة.

هذا الأمر يعمل فقط إذا كان هناك عميل واحد على الأقل متصل.

join-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane]
(alias: joinp)

يشبه الأمر split-window، ولكنه بدلاً من تقسيم dst-pane وإنشاء لوحة جديدة، يقوم بتقسيمها ونقل src-pane إلى المساحة. يمكن استخدامه لعكس الأمر break-pane. الخيار -b يجعل src-pane ينضم إلى يسار أو أعلى dst-pane.

إذا تم حذف -s وكان هناك لوحة محددة (انظر select-pane -m)، فسيتم استخدام اللوحة المحددة بدلاً من اللوحة الحالية.

kill-pane [-a] [-t target-pane]
(alias: killp)

تدمير اللوحة المحددة. إذا لم تتبق أي لوحات في النافذة التي تحتوي عليها، فسيتم تدميرها أيضًا. الخيار -a يقتل جميع اللوحات باستثناء اللوحة المحددة باستخدام -t.

kill-window [-a] [-t target-window]
(alias: killw)

قتل النافذة الحالية أو النافذة المحددة في target-window، وإزالتها من أي جلسات مرتبطة بها. الخيار -a يقتل جميع النوافذ باستثناء النافذة المحددة باستخدام -t.

last-pane [-deZ] [-t target-window]
(alias: lastp)

تحديد آخر لوحة (اللوحة التي تم تحديدها سابقًا). -Z يحافظ على النافذة مكبرة إذا كانت مكبرة. -e يمكّن أو -d يعطل إدخال البيانات إلى اللوحة.

last-window [-t target-session]
(alias: last)

تحديد آخر نافذة (النافذة التي تم تحديدها سابقًا). إذا لم يتم تحديد target-session، فسيتم تحديد آخر نافذة في الجلسة الحالية.

link-window [-abdk] [-s src-window] [-t dst-window]
(alias: linkw)

ربط النافذة في src-window بالنافذة المحددة في dst-window. إذا تم تحديد dst-window ولا توجد نافذة بهذا الاسم، فسيتم ربط src-window بها. باستخدام -a أو -b، يتم نقل النافذة إلى الفهرس التالي بعد أو قبل dst-window (يتم نقل النوافذ الموجودة إذا لزم الأمر). إذا تم إعطاء -k وكانت dst-window موجودة، فسيتم قتلها، وإلا فسيتم إنشاء خطأ. إذا تم إعطاء -d، فلن يتم تحديد النافذة المرتبطة حديثًا.

list-panes [-as] [-F format] [-f filter] [-t target]
(alias: lsp)

إذا تم إعطاء -a، فسيتم تجاهل target وسيتم سرد جميع اللوحات الموجودة على الخادم. إذا تم إعطاء -s، فستكون target هي الجلسة (أو الجلسة الحالية). إذا لم يتم إعطاء أي منهما، فستكون target هي النافذة (أو النافذة الحالية). يحدد -F تنسيق كل سطر ويحدد -f مرشحًا. يتم عرض اللوحات التي يكون فيها المرشح صحيحًا فقط. انظر قسم "التنسيقات".

list-windows [-a] [-F format] [-f filter] [-t target-session]
(alias: lsw)

إذا تم إعطاء -a، فسيتم سرد جميع النوافذ الموجودة على الخادم. خلاف ذلك، سيتم سرد النوافذ في الجلسة الحالية أو في target-session. يحدد -F تنسيق كل سطر ويحدد -f مرشحًا. يتم عرض النوافذ التي يكون فيها المرشح صحيحًا فقط. انظر قسم "التنسيقات".

move-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane]
(alias: movep)

يقوم بنفس وظيفة الأمر join-pane.


move-window [-abrdk] [-s src-window] [-t dst-window]
(alias: movew)
هذا مشابه لـ link-window، باستثناء أن النافذة في src-window يتم نقلها إلى dst-window.
مع -r، يتم إعادة ترقيم جميع النوافذ في الجلسة بترتيب تسلسلي، مع احترام خيار base-index.

new-window [-abdkPS] [-c start-directory] [-e environment] [-F format] [-n window-name] [-t
target-window] [shell-command [argument ...]]
(alias: neww)
إنشاء نافذة جديدة. مع -a أو -b، يتم إدراج النافذة الجديدة بعد أو قبل target-window المحدد، مع تحريك النوافذ لأعلى إذا لزم الأمر؛ وإلا فإن target-window هو موقع النافذة الجديدة.

إذا تم إعطاء -d، فلن تجعل الجلسة النافذة الجديدة هي النافذة الحالية.
يمثل target-window النافذة المراد إنشاؤها؛ إذا كانت النافذة الهدف موجودة بالفعل، فسيتم عرض خطأ، ما لم يتم استخدام العلامة -k، وفي هذه الحالة سيتم تدميرها. إذا تم إعطاء -S وكانت نافذة باسم window-name موجودة بالفعل، فسيتم تحديدها (إلا إذا تم إعطاء -d أيضًا، وفي هذه الحالة لا يحدث شيء).

shell-command هو الأمر المراد تنفيذه. إذا لم يتم تحديد shell-command، يتم استخدام قيمة خيار default-command. يحدد -c دليل العمل الذي يتم فيه إنشاء النافذة الجديدة.

عندما يكتمل أمر shell، يتم إغلاق النافذة. انظر خيار remain-on-exit لتغيير هذا السلوك.

تأخذ -e الشكل 'VARIABLE=value' وتعيّن متغير بيئة للنافذة التي تم إنشاؤها حديثًا؛ يمكن تحديدها عدة مرات.

يجب تعيين متغير البيئة TERM إلى 'screen' أو 'tmux' لجميع البرامج التي تعمل داخل tmux. ستضيف النوافذ الجديدة تلقائيًا 'TERM=screen' إلى بيئتها، ولكن يجب توخي الحذر لعدم إعادة تعيين هذا في ملفات بدء تشغيل shell أو عن طريق خيار -e.

يطبع خيار -P معلومات حول النافذة الجديدة بعد إنشائها. بشكل افتراضي، يستخدم التنسيق '#{session_name}:#{window_index' ولكن يمكن تحديد تنسيق مختلف باستخدام -F.

next-layout [-t target-window]
(alias: nextl)
انقل نافذة إلى التخطيط التالي وأعد ترتيب الأجزاء لتتناسب.

next-window [-a] [-t target-session]
(alias: next)
انتقل إلى النافذة التالية في الجلسة. إذا تم استخدام -a، فانتقل إلى النافذة التالية التي تحتوي على تنبيه.

pipe-pane [-IOo] [-t target-pane] [shell-command]
(alias: pipep)
قم بتمرير الإخراج الذي ترسله البرنامج في target-pane إلى أمر shell أو العكس. يمكن توصيل جزء واحد فقط بأمر واحد في كل مرة، ويتم إغلاق أي أنبوب موجود قبل تنفيذ shell-command. يمكن أن يحتوي سلسلة shell-command على تسلسلات الأحرف الخاصة المدعومة بواسطة خيار status-left. إذا لم يتم إعطاء shell-command، فسيتم إغلاق الأنبوب الحالي (إن وجد).

يحدد -I و -O أي من تدفقات إخراج shell-command متصلة بالجزء: مع -I يتم توصيل stdout (بحيث تتم كتابة أي شيء يطبعه shell-command في الجزء كما لو كان مكتوبًا)؛ مع -O يتم توصيل stdin (بحيث يتم تمرير أي إخراج في الجزء إلى shell-command). يمكن استخدام كليهما معًا وإذا لم يتم تحديد أي منهما، يتم استخدام -O.

تفتح الخيار -o نافذة جديدة فقط إذا لم تكن هناك نافذة سابقة، مما يسمح بتبديل النافذة باستخدام مفتاح واحد، على سبيل المثال:

bind-key C-p pipe-pane -o 'cat >>~/output.#I-#P'

previous-layout [-t target-window]
(اسم بديل: prevl)
انتقل إلى التخطيط السابق في الجلسة.

previous-window [-a] [-t target-session]
(اسم بديل: prev)
انتقل إلى النافذة السابقة في الجلسة. مع الخيار `-a`، انتقل إلى النافذة السابقة التي تحتوي على تنبيه.

rename-window [-t target-window] new-name
(اسم بديل: renamew)
أعد تسمية النافذة الحالية، أو النافذة المحددة في `target-window`، إلى `new-name`.

resize-pane [-DLMRTUZ] [-t target-pane] [-x width] [-y height] [adjustment]
(اسم بديل: resizep)
غيّر حجم جزء، لأعلى، لأسفل، لليسار أو لليمين بمقدار `adjustment` باستخدام الخيارات `-U`، `-D`، `-L` أو `-R`، أو إلى حجم مطلق باستخدام `-x` أو `-y`. يتم تحديد مقدار التغيير إما بعدد الصفوف أو الأعمدة (الافتراضي هو 1؛ يمكن إعطاء `-x` و `-y` كرقم لعدد الصفوف أو الأعمدة أو متبوعًا بـ `%` لتمثيل نسبة مئوية من حجم النافذة (على سبيل المثال `-x 10%`). مع الخيار `-Z`، يتم تبديل الجزء النشط بين التكبير (يشغل النافذة بأكملها) والتصغير (موقعه الطبيعي في التخطيط).

يبدأ الخيار `-M` تغيير حجم الجزء باستخدام الماوس (يكون صالحًا فقط إذا تم ربطه بربط مفتاح الماوس، راجع "دعم الماوس").

يقوم الخيار `-T` بقطع جميع الأسطر أسفل موضع المؤشر الحالي ويحذفها من السجل، ويستبدلها.

resize-window [-aADLRU] [-t target-window] [-x width] [-y height] [adjustment]
(اسم بديل: resizew)
غيّر حجم النافذة، لأعلى، لأسفل، لليسار أو لليمين بمقدار `adjustment` باستخدام الخيارات `-U`، `-D`، `-L` أو `-R`، أو إلى حجم مطلق باستخدام `-x` أو `-y`. يتم تحديد مقدار التغيير إما بعدد الصفوف أو الخلايا (الافتراضي هو 1). يحدد الخيار `-A` حجم أكبر جلسة تحتوي على النافذة؛ يحدد الخيار `-a` حجم أصغر جلسة. سيقوم هذا الأمر بتعيين `window-size` تلقائيًا إلى `manual` في خيارات النافذة.

respawn-pane [-k] [-c start-directory] [-e environment] [-t target-pane] [shell-command [argument ...]]
(اسم بديل: respawnp)
أعد تنشيط جزء توقف فيه الأمر. إذا لم يتم إعطاء `shell-command`، يتم تنفيذ الأمر المستخدم عند إنشاء الجزء أو آخر إعادة تنشيط له. يجب أن يكون الجزء غير نشط بالفعل، إلا إذا تم إعطاء الخيار `-k`، وفي هذه الحالة يتم إنهاء أي أمر موجود. يحدد الخيار `-c` دليل بدء جديد للجزء. الخيار `-e` له نفس معنى الخيار الموجود في الأمر `new-window`.

respawn-window [-k] [-c start-directory] [-e environment] [-t target-window] [shell-command [argument ...]]
(اسم بديل: respawnw)
أعد تنشيط نافذة توقف فيها الأمر. إذا لم يتم إعطاء `shell-command`، يتم تنفيذ الأمر المستخدم عند إنشاء النافذة أو آخر إعادة تنشيط لها. يجب أن تكون النافذة غير نشطة بالفعل، إلا إذا تم إعطاء الخيار `-k`، وفي هذه الحالة يتم إنهاء أي أمر موجود. يحدد الخيار `-c` دليل بدء جديد للنافذة. الخيار `-e` له نفس معنى الخيار الموجود في الأمر `new-window`.

rotate-window [-DUZ] [-t target-window]
(alias: rotatew)
قم بتدوير مواضع الأجزاء داخل النافذة، إما للأعلى (رقميًا أقل) باستخدام -U أو للأسفل (رقميًا أعلى). -Z يحافظ على النافذة مكبرة إذا كانت مكبرة بالفعل.

select-layout [-Enop] [-t target-pane] [layout-name]
(alias: selectl)
اختر تخطيطًا معينًا للنافذة. إذا لم يتم تحديد `layout-name`، فسيتم إعادة تطبيق التخطيط المسبق الأخير المستخدم (إن وجد). -n و -p يكافئان الأمرين `next-layout` و `previous-layout`. -o يطبق آخر تخطيط تم تعيينه إذا أمكن (يلغي آخر تغيير في التخطيط). -E ينشر الجزء الحالي وأي أجزاء بجواره بالتساوي.

select-pane [-DdeLlMmRUZ] [-T title] [-t target-pane]
(alias: selectp)
اجعل الجزء `target-pane` هو الجزء النشط في نافذته. إذا تم استخدام أحد الخيارات -D أو -L أو -R أو -U، فسيكون الجزء الموجود أسفل أو إلى يسار أو إلى يمين أو فوق `target-pane` هو المستخدم على التوالي. -Z يحافظ على النافذة مكبرة إذا كانت مكبرة بالفعل. -l هو نفسه استخدام الأمر `last-pane`. -e يمكّن أو -d يعطّل الإدخال إلى الجزء. -T يضبط عنوان الجزء.

-m و -M يستخدمان لتعيين ومسح الجزء المميز. يوجد جزء مميز واحد في كل مرة، يؤدي تعيين جزء مميز جديد إلى مسح الجزء المميز السابق. الجزء المميز هو الهدف الافتراضي لـ -s للأوامر `join-pane` و `move-pane` و `swap-pane` و `swap-window`.

select-window [-lnpT] [-t target-window]
(alias: selectw)
حدد النافذة في `target-window`. -l و -n و -p يكافئان الأوامر `last-window` و `next-window` و `previous-window`. إذا تم تحديد -T وكانت النافذة المحددة هي بالفعل النافذة الحالية، فإن الأمر يتصرف مثل `last-window`.

split-window [-bdfhIvPZ] [-c start-directory] [-e environment] [-F format] [-l size] [-t target-pane] [shell-command [argument ...]]
(alias: splitw)
أنشئ جزءًا جديدًا عن طريق تقسيم `target-pane`: -h يقوم بتقسيم أفقي و -v يقوم بتقسيم رأسي؛ إذا لم يتم تحديد أي منهما، فسيتم افتراض -v. يحدد الخيار -l حجم الجزء الجديد بالصفوف (لتقسيم رأسي) أو بالأعمدة (لتقسيم أفقي)؛ يمكن أن يتبع الحجم علامة النسبة المئوية (%) لتحديد نسبة من المساحة المتاحة. يتسبب الخيار -b في إنشاء الجزء الجديد على يسار أو فوق `target-pane`. يقوم الخيار -f بإنشاء جزء جديد يمتد على كامل ارتفاع النافذة (مع -h) أو على كامل عرض النافذة (مع -v)، بدلاً من تقسيم الجزء النشط. -Z يكبر إذا لم تكن النافذة مكبرة، أو يحافظ على تكبيرها إذا كانت مكبرة بالفعل.

سيؤدي أمر shell-command الفارغ ('') إلى إنشاء جزء بدون تشغيل أي أمر فيه. يمكن إرسال الإخراج إلى هذا الجزء باستخدام الأمر `display-message`. العلم -I (إذا لم يتم تحديد shell-command أو كان فارغًا) سينشئ جزءًا فارغًا ويوجه أي إخراج من stdin إليه. على سبيل المثال:

$ make 2>&1|tmux splitw -dI &

تحمل جميع الخيارات الأخرى نفس المعنى الموجود في الأمر `new-window`.

swap-pane [-dDUZ] [-s src-pane] [-t dst-pane]
(alias: swapp)
يقوم بتبديل لوحتين. إذا تم استخدام -U ولم يتم تحديد لوحة مصدر باستخدام -s، فسيتم تبديل `dst-pane` مع اللوحة السابقة (قبلها رقميًا)؛ يقوم -D بتبديلها مع اللوحة التالية (بعدها رقميًا). يخبر -d برنامج tmux بعدم تغيير اللوحة النشطة، ويحافظ -Z على نافذة مكبرة إذا كانت مكبرة بالفعل.

إذا تم حذف -s وكانت هناك لوحة معلمة (انظر select-pane -m)، فسيتم استخدام اللوحة المعلمة بدلاً من اللوحة الحالية.

swap-window [-d] [-s src-window] [-t dst-window]
(alias: swapw)
يشبه هذا الأمر `link-window`، باستثناء أنه يتم تبديل النوافذ المصدر والوجهة. يكون من الخطأ ألا توجد نافذة في `src-window`. إذا تم إعطاء -d، فلن تصبح النافذة الجديدة النافذة الحالية.

إذا تم حذف -s وكانت هناك لوحة معلمة (انظر select-pane -m)، فسيتم استخدام النافذة التي تحتوي على اللوحة المعلمة بدلاً من النافذة الحالية.

unlink-window [-k] [-t target-window]
(alias: unlinkw)
يقوم بفصل `target-window`. ما لم يتم إعطاء -k، يمكن فصل النافذة فقط إذا كانت مرتبطة بجلسات متعددة - لا يمكن ربط النوافذ بعدم وجود أي جلسات؛ إذا تم تحديد -k وكانت النافذة مرتبطة بجلسة واحدة فقط، فسيتم فصلها وتدميرها.

ربط المفاتيح

يسمح 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] [-N note] [-T key-table] key [command [argument ...]]
(alias: bind)
يربط المفتاح `key` بالأمر `command`. يتم ربط المفاتيح في جدول مفاتيح. افتراضيًا (بدون -T)، يتم ربط المفتاح في جدول مفاتيح البادئة. يتم استخدام هذا الجدول للمفاتيح التي يتم الضغط عليها بعد مفتاح البادئة (على سبيل المثال، افتراضيًا، يتم ربط "c" بـ new-window في جدول البادئة، لذلك فإن "C-b c" ينشئ نافذة جديدة). يتم استخدام الجدول الجذري للمفاتيح التي يتم الضغط عليها بدون مفتاح البادئة: ربط "c" بـ new-window في الجدول الجذري (لا يوصى به) يعني أن "c" العادي سينشئ نافذة جديدة. -n هو اسم مستعار لـ -T root. يمكن أيضًا ربط المفاتيح في جداول مفاتيح مخصصة، ويمكن استخدام الأمر `switch-client -T` للتبديل إليها من ربط مفتاح. يشير العلم -r إلى أن هذا المفتاح قد يتكرر، انظر الخيارات `initial-repeat-time` و `repeat-time`. يربط العلم -N ملاحظة بالمفتاح (يتم عرضها باستخدام `list-keys -N`)، والتي يمكن مسحها عن طريق تمرير سلسلة فارغة. يمكن استخدام العلامتين -r و -N بدون أمر لتعديل ربط موجود.

لعرض الروابط الافتراضية والأوامر المحتملة، راجع الأمر list-keys.

`list-keys [-1aN] [-P prefix-string] [-T key-table] [key]`
(الاسم المستعار: `lsk`)
يعرض روابط المفاتيح. هناك شكلان: يعرض الشكل الافتراضي المفاتيح كأوامر `bind-key`؛ يعرض `-N` فقط المفاتيح التي تحتوي على ملاحظات ويرى فقط المفتاح والملاحظة لكل مفتاح.

في الشكل الافتراضي، يتم سرد جميع جداول المفاتيح افتراضيًا. يقوم `-T` بسرد المفاتيح الموجودة فقط في `key-table`.

في شكل `-N`، يتم سرد المفاتيح الموجودة في الجداول الجذرية وجداول البادئة فقط افتراضيًا؛ يقوم `-T` أيضًا بسرد المفاتيح الموجودة فقط في `key-table`. يحدد `-P` بادئة للطباعة قبل كل مفتاح، ويقوم `-1` بسرد المفتاح الأول المطابق فقط. يسرد `-a` الأمر الخاص بالمفاتيح التي ليس لديها ملاحظة بدلاً من تخطيها.

`send-keys [-FHKlMRX] [-c target-client] [-N repeat-count] [-t target-pane] [key ...]`
(الاسم المستعار: `send`)
يرسل مفتاحًا أو مفاتيح إلى نافذة أو عميل. كل وسيطة `key` هي اسم المفتاح (مثل "C-a" أو "NPage") المراد إرسالها؛ إذا لم يتم التعرف على السلسلة كمفتاح، يتم إرسالها كسلسلة من الأحرف. إذا تم إعطاء `-K`، يتم إرسال المفاتيح إلى `target-client`، لذلك يتم البحث عنها في جدول مفاتيح العميل، بدلاً من إرسالها إلى `target-pane`. يتم إرسال جميع الوسائط بالتسلسل من الأول إلى الأخير. إذا لم يتم إعطاء أي مفاتيح وكان الأمر مرتبطًا بمفتاح، فسيتم استخدام هذا المفتاح.

يقوم الخيار `-l` بتعطيل البحث عن اسم المفتاح ويعالج المفاتيح كأحرف UTF-8 حرفية.
يتوقع الخيار `-H` أن يكون كل مفتاح عبارة عن رقم سداسي عشري لحرف ASCII.

يقوم الخيار `-R` بإعادة تعيين حالة الجهاز.

`-M` يمرر حدث الماوس (صالح فقط إذا كان مرتبطًا برابط مفتاح الماوس، راجع قسم "دعم الماوس").

يستخدم `-X` لإرسال أمر إلى وضع النسخ - راجع قسم "النوافذ والأجزاء". يحدد `-N` عدد مرات التكرار، ويوسع `-F` التنسيقات في الوسائط عند الاقتضاء.

`send-prefix [-2] [-t target-pane]`
يرسل مفتاح البادئة، أو مع `-2` مفتاح البادئة الثانوي، إلى نافذة كما لو تم الضغط عليه.

`unbind-key [-anq] [-T key-table] key`
(الاسم المستعار: `unbind`)
يزيل الأمر المرتبط بالمفتاح `key`. الخيارات `-n` و `-T` هي نفسها الموجودة في الأمر `bind-key`. إذا كان موجودًا `-a`، تتم إزالة جميع روابط المفاتيح. يمنع الخيار `-q` إرجاع الأخطاء.

الخيارات

يمكن تعديل مظهر وسلوك tmux عن طريق تغيير قيمة خيارات مختلفة. ينتمي كل خيار إلى نطاق واحد أو أكثر (الخادم والجلسة والنافذة والجزء) وله نوع (سلسلة أو رقم أو مفتاح أو لون أو علامة أو اختيار أو أمر). يمكن أن تكون قيم خيارات النوع "علامة" إما 1 أو "تشغيل" أو "نعم" أو 0 أو "إيقاف" أو "لا"؛ للحصول على قيم الاختيار المحتملة، راجع الخيار المعني؛ ولخيارات المفاتيح، راجع قسم "روابط المفاتيح"؛ ولخيارات الألوان، راجع قسم "الأنماط".

يحتوي خادم 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] [-t target-pane] option [value]
(alias: set)

يتم تعيين خيار جزء باستخدام -p، وخيار نافذة باستخدام -w، وخيار خادم باستخدام -s، وإلا يتم تعيين خيار الجلسة. إذا لم يكن الخيار خيار مستخدم، فقد يكون -w أو -s غير ضروريين - سيتنبأ tmux بالنطاق من اسم الخيار، على افتراض -w لخيارات الجزء. إذا تم إعطاء -g، يتم تعيين خيار الجلسة أو النافذة العامة.

^ F يوسع التنسيقات في قيمة الخيار. تقوم العلامة -u بإلغاء تعيين خيار، بحيث ترث الجلسة الخيار من الخيارات العامة (أو باستخدام -g، يتم استعادة الخيار العام إلى القيمة الافتراضية). تقوم -U بإلغاء تعيين خيار (مثل -u) ولكن إذا كان الخيار خيار جزء، فإنه يلغي أيضًا الخيار على أي أجزاء في النافذة. تعتمد القيمة على الخيار ونوعه ويمكن حذفها لخيار العلم أو الاختيار لتبديل قيمته (تقوم خيارات الاختيار بالتبديل بين أول خيارين).

تمنع العلامة -o تعيين خيار تم تعيينه بالفعل، وتقوم العلامة -q بإخفاء الأخطاء المتعلقة بالخيارات غير المعروفة أو الغامضة.

مع -a، وإذا كان الخيار يتوقع سلسلة أو نمط، تتم إضافة القيمة إلى الإعداد الحالي. على سبيل المثال:

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] [-t target-pane] [option]
(alias: show)

يعرض خيارات الجزء (أو خيار واحد إذا تم توفير الخيار) باستخدام -p، وخيارات النافذة باستخدام -w، وخيارات الخادم باستخدام -s، وإلا سيتم عرض خيارات الجلسة. إذا لم يكن الخيار خيار مستخدم، فقد يكون -w أو -s غير ضروريين - سيتنبأ tmux بالنطاق من اسم الخيار، على افتراض -w لخيارات الجزء. يتم إدراج خيارات الجلسة أو النافذة العامة إذا تم استخدام -g. يعرض -v قيمة الخيار فقط، وليس الاسم. إذا تم تعيين -q، فلن يتم إرجاع أي خطأ إذا لم يتم تعيين الخيار. يتضمن -H الخطافات (والتي يتم حذفها افتراضيًا). يتضمن -A الخيارات الموروثة من مجموعة خيارات أصلية، ويتم وضع علامة على هذه الخيارات بعلامة نجمية.


خيارات الخادم المتاحة هي:

backspace key
يحدد المفتاح الذي ترسله tmux عند الضغط على مفتاح الحذف للخلف.

buffer-limit number
يحدد عدد المخازن المؤقتة؛ بينما تُضاف المخازن المؤقتة الجديدة إلى أعلى المكدس، تُزال المخازن المؤقتة القديمة من الأسفل إذا لزم الأمر للحفاظ على هذا الحد الأقصى للطول.

command-alias[] name=value
هذا عبارة عن مصفوفة من الأسماء المستعارة المخصصة للأوامر. إذا تطابق أمر غير معروف مع الاسم، فسيتم استبداله بالقيمة. على سبيل المثال، بعد:

set -s command-alias[100] zoom='resize-pane -Z'

باستخدام:

zoom -t:.1

يعادل:

resize-pane -Z -t:.1

لاحظ أن الأسماء المستعارة يتم توسيعها عند تحليل الأمر بدلاً من وقت تنفيذه، لذلك فإن ربط اسم مستعار باستخدام `bind-key` سيربط الشكل الموسع.

codepoint-widths[] string
خيار مصفوفة يسمح بتجاوز عرض نقاط الرمز Unicode. لاحظ أن العرض الجديد ينطبق على جميع العملاء. يتكون كل إدخال من الشكل `codepoint=width`، حيث يمكن أن يكون `codepoint` عبارة عن حرف UTF-8 أو معرف على شكل `'U+number'` حيث يكون `number` رقمًا سداسيًا عشريًا.

copy-command shell-command
حدد الأمر الذي سيتم تمريره إليه إذا تم استخدام الأمر `copy-pipe` في وضع النسخ بدون وسيطات.

default-client-command command
يحدد الأمر الافتراضي الذي سيتم تشغيله عند استدعاء tmux بدون أمر. الافتراضي هو `new-session`.

default-terminal terminal
يحدد المحطة الطرفية الافتراضية للنوافذ الجديدة التي تم إنشاؤها في هذه الجلسة - القيمة الافتراضية لمتغير البيئة `TERM`. لكي تعمل tmux بشكل صحيح، يجب تعيين هذا على `screen` أو `tmux` أو مشتق منهما.

escape-time time
يحدد الوقت بالمللي ثانية الذي تنتظره tmux بعد إدخال تسلسل هروب لتحديد ما إذا كان جزءًا من وظيفة أو تسلسل مفتاح معدل.

editor shell-command
يحدد الأمر الذي تستخدمه tmux عند تشغيل محرر.

exit-empty [on | off]
إذا تم تمكينه (وهو الوضع الافتراضي)، فسيخرج الخادم عند عدم وجود جلسات نشطة.

exit-unattached [on | off]
إذا تم تمكينه، فسيخرج الخادم عند عدم وجود عملاء متصلين.

extended-keys [on | off | always]
يتحكم في كيفية الإبلاغ عن المفاتيح المعدلة (المفاتيح التي يتم الضغط عليها مع Control أو Meta أو Shift). هذا يعادل مورد `modifyOtherKeys` في `xterm(1)`.

عند تعيينه على `on`، يمكن للبرنامج الموجود داخل اللوحة أن يطلب أحد وضعين: الوضع 1 الذي يغير التسلسل للمفاتيح التي لا تحتوي على تمثيل معروف، أو الوضع 2 الذي يغير التسلسل لجميع المفاتيح. عند تعيينه على `always`، يمكن طلب الوضعين 1 و 2 بواسطة التطبيقات، ولكن سيتم فرض الوضع 1 بدلاً من الوضع القياسي. عند تعيينه على `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. يجب فصل العملاء المرفقين وإعادة إرفاقهم بعد تغيير هذا الخيار.

history-file path

إذا لم يكن فارغًا، فهو ملف سيقوم tmux بكتابة محفوظات موجه الأوامر إليه عند الخروج وتحميله عند البدء.

input-buffer-size bytes

الحد الأقصى لعدد البايتات المسموح بها لقراءة تسلسلات الهروب والتحكم. بمجرد الوصول إلى الحد، سيتم تجاهل التسلسل.

message-limit number

يحدد عدد رسائل الخطأ أو المعلومات التي سيتم حفظها في سجل الرسائل لكل عميل.

prompt-history-limit number

يحدد عدد العناصر التي سيتم حفظها في ملف السجل لكل نوع من أنواع موجهات الأوامر.

set-clipboard [on | external | off]

يحاول تعيين محتوى الحافظة الطرفية باستخدام تسلسل الهروب xterm(1)، إذا كان هناك إدخال Ms في وصف terminfo(5) (راجع قسم "TERMINFO EXTENSIONS").

إذا تم تعيينه على on، فسيقوم tmux بقبول تسلسل الهروب لإنشاء مخزن مؤقت ومحاولة تعيين الحافظة الطرفية. إذا تم تعيينه على external، فسيحاول tmux تعيين الحافظة الطرفية ولكنه سيتجاهل محاولات التطبيقات لتعيين مخازن tmux المؤقتة. إذا تم تعيينه على off، فلن يقبل tmux تسلسل الهروب للحافظة ولن يحاول تعيين الحافظة.

لاحظ أن هذه الميزة تحتاج إلى تمكينها في 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 يدعم 256 لونًا باستخدام تسلسلات الهروب SGR.

clipboard يسمح بتعيين الحافظة للنظام.

ccolour يسمح بتعيين لون المؤشر.

cstyle يسمح بتعيين نمط المؤشر.

extkeys يدعم المفاتيح الموسعة.

focus يدعم الإبلاغ عن التركيز.

hyperlinks يدعم روابط OSC 8.

ignorefkeys يتجاهل مفاتيح الوظائف من terminfo(5) ويستخدم مجموعة tmux الداخلية فقط.

margins يدعم هوامش DECSLRM.

mouse يدعم تسلسلات الماوس الخاصة بـ xterm(1).

osc7 يدعم امتداد الدليل العامل OSC 7.

overline يدعم سمة الخط العلوي SGR.

rectfill يدعم تسلسل الهروب لملء المستطيل DECFRA.

RGB يدعم لون RGB باستخدام تسلسلات الهروب SGR.

sixel يدعم الرسومات SIXEL.

strikethrough يدعم سمة الخط المشطوب SGR.

sync يدعم التحديثات المتزامنة.

title يدعم تعيين عنوان xterm(1).

usstyle يسمح بتعيين نمط ولون التسطير.

terminal-overrides[] string يسمح بقراءة أوصاف الطرفية باستخدام terminfo(5) لتجاوزها. كل إدخال عبارة عن سلسلة مفصولة بنقطتين تتكون من نمط نوع الطرفية (يتم مطابقته باستخدام أنماط glob(7)) ومجموعة من إدخالات الاسم = القيمة.

على سبيل المثال، لتعيين إدخال "clear" في terminfo(5) إلى "\e[H\e[2J" لجميع أنواع الطرفيات التي تطابق "rxvt*":

    rxvt*:clear=\e[H\e[2J

يتم تمرير قيمة إدخال الطرفية من خلال strunvis(3) قبل تفسيرها.

user-keys[] key قم بتعيين قائمة بتسلسلات الهروب الخاصة بالمفاتيح المعرفة من قبل المستخدم. يرتبط كل عنصر بمفتاح يسمى "User0" و "User1" وهكذا.

على سبيل المثال:

    set -s user-keys[0] "\e[5;30012~"
    bind User0 resize-pane -L 3

variation-selector-always-wide [on | off] قم دائمًا بمعاملة محدد التنوع Unicode 16 على أنه يمثل حرفًا عريضًا. هذه ميزة في بعض الطرفيات كجزء من دعم Unicode 14 الخاص بها.

خيارات الجلسة المتاحة هي:

activity-action [any | none | current | other] قم بتعيين الإجراء الذي سيتم اتخاذه عند وجود نشاط في النافذة عند تشغيل monitor-activity. يعني "any" أن النشاط في أي نافذة مرتبطة بالجلسة يتسبب في إصدار صوت أو رسالة (اعتمادًا على visual-activity) في النافذة الحالية لتلك الجلسة، ويعني "none" تجاهل جميع الأنشطة (وهو ما يعادل إيقاف تشغيل monitor-activity)، ويعني "current" تجاهل النشاط في النوافذ الأخرى بخلاف النافذة الحالية، ويعني "other" تجاهل النشاط في النافذة الحالية ولكن ليس في النوافذ الأخرى.

assume-paste-time بالمللي ثانية إذا تم إدخال المفاتيح بسرعة أكبر من مفتاح واحد في المللي ثانية، فسيتم افتراض أنها قد تم لصقها بدلاً من كتابتها ولا تتم معالجة ربط مفاتيح tmux. القيمة الافتراضية هي مللي ثانية واحدة، ويؤدي تعيينها إلى صفر إلى تعطيلها.

base-index index قم بتعيين فهرس الأساس الذي يجب البحث فيه عن فهرس غير مستخدم عند إنشاء نافذة جديدة. القيمة الافتراضية هي صفر.

bell-action [any | none | current | other]
يحدد الإجراء الذي يتم تنفيذه على جرس في نافذة عندما يكون `monitor-bell` قيد التشغيل. القيم هي نفسها المستخدمة في `activity-action`.

default-command shell-command
يحدد الأمر المستخدم للنافذة الجديدة (إذا لم يتم تحديده عند إنشاء النافذة) ليصبح `shell-command`، والذي يمكن أن يكون أي أمر [sh]({filename}../../sh)(1). الافتراضي هو سلسلة فارغة، مما يوجه tmux لإنشاء shell تسجيل باستخدام قيمة خيار `default-shell`.

default-shell path
يحدد shell الافتراضي. يتم استخدامه كـ shell تسجيل للنافذة الجديدة عندما يتم تعيين خيار `default-command` على سلسلة فارغة، ويجب أن يكون المسار الكامل للملف القابل للتنفيذ. عند بدء التشغيل، يحاول tmux تعيين قيمة افتراضية من أول متغير بيئة مناسب، أو shell الذي يتم إرجاعه بواسطة `getpwuid(3)`، أو `/bin/sh`. يجب تكوين هذا الخيار عند استخدام tmux كـ shell تسجيل.

default-size XxY
يحدد الحجم الافتراضي للنافذة الجديدة عندما يتم تعيين خيار `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-colour colour
يحدد اللون المستخدم بواسطة الأمر `display-panes` لإظهار المؤشر للنافذة النشطة.

display-panes-colour colour
يحدد اللون المستخدم بواسطة الأمر `display-panes` لإظهار المؤشرات للنافذة غير النشطة.

display-panes-time time
يحدد الوقت بالمللي ثانية الذي تظهر فيه المؤشرات التي يعرضها الأمر `display-panes`.

display-time time
يحدد مقدار الوقت الذي يتم فيه عرض رسائل سطر الحالة والمؤشرات الأخرى على الشاشة. إذا تم تعيينه على 0، يتم عرض الرسائل والمؤشرات حتى يتم الضغط على مفتاح. الوقت بالمللي ثانية.

history-limit lines
يحدد الحد الأقصى لعدد الأسطر التي يتم الاحتفاظ بها في محفوظات النافذة. ينطبق هذا الإعداد فقط على النوافذ الجديدة - لا يتم تغيير محفوظات النوافذ الموجودة ويحتفظ بالحد في النقطة التي تم إنشاؤها فيها.

initial-repeat-time time
يحدد الوقت بالمللي ثانية للتكرار الأولي عندما يتم ربط مفتاح باستخدام العلامة `-r`. يتيح هذا إدخال أوامر متعددة دون الضغط على مفتاح البادئة مرة أخرى. انظر أيضًا خيار `repeat-time`. إذا كان `initial-repeat-time` يساوي صفرًا، يتم استخدام `repeat-time` لعملية الضغط الأولى على المفتاح.

key-table key-table
عيّن جدول المفاتيح الافتراضي إلى `key-table` بدلاً من `root`.

lock-after-time number
اقفل الجلسة (مثل الأمر `lock-session`) بعد `number` ثوانٍ من الخمول. القيمة الافتراضية هي عدم القفل (اضبط على 0).

lock-command shell-command
الأمر الذي سيتم تشغيله عند قفل كل عميل. القيمة الافتراضية هي تشغيل `lock(1)` مع الخيار `-np`.

menu-style style
عيّن نمط القائمة. انظر قسم "STYLES" حول كيفية تحديد النمط.

menu-selected-style style
عيّن نمط العنصر المحدد في القائمة. انظر قسم "STYLES" حول كيفية تحديد النمط.

menu-border-style style
عيّن نمط حدود القائمة. انظر قسم "STYLES" حول كيفية تحديد النمط.

menu-border-lines type
عيّن نوع الأحرف المستخدمة لرسم حدود القائمة. انظر `popup-border-lines` للحصول على القيم الممكنة لـ `border-lines`.

message-command-style style
عيّن نمط سطر الحالة لرسالة الأمر. هذا يستخدم لموجه الأوامر مع مفاتيح `vi(1)` عند التواجد في وضع الأوامر. حول كيفية تحديد النمط، انظر قسم "STYLES".

message-line [0 | 1 | 2 | 3 | 4]
عيّن السطر الذي يتم فيه عرض رسائل سطر الحالة وموجه الأوامر.

message-style style
عيّن نمط رسالة سطر الحالة. هذا يستخدم للرسائل ولموجه الأوامر. حول كيفية تحديد النمط، انظر قسم "STYLES".

mouse [on | off]
إذا كان `on`، فإن tmux يلتقط مؤشر الماوس ويسمح بربط أحداث الماوس كمفاتيح. انظر قسم "MOUSE SUPPORT" للحصول على التفاصيل.

prefix key
عيّن المفتاح الذي يتم قبوله كمفتاح بادئة. بالإضافة إلى المفاتيح القياسية الموصوفة تحت "KEY BINDINGS"، يمكن تعيين `prefix` إلى المفتاح الخاص `None` لتعيين عدم وجود بادئة.

prefix2 key
عيّن مفتاحًا ثانويًا يتم قبوله كمفتاح بادئة. مثل `prefix`، يمكن تعيين `prefix2` إلى `None`.

prefix-timeout time
عيّن الوقت بالمللي ثانية الذي ينتظره tmux بعد إدخال البادئة قبل إلغائه. يمكن تعيينه إلى صفر لتعطيل أي مهلة.

prompt-cursor-colour colour
عيّن لون المؤشر في موجه الأوامر.

prompt-cursor-style style
عيّن نمط المؤشر في موجه الأوامر. انظر خيارات `cursor-style` للحصول على الأنماط المتاحة.

renumber-windows [on | off]
إذا كان `on`، فعند إغلاق نافذة في جلسة، يتم إعادة ترقيم النوافذ الأخرى تلقائيًا بترتيب رقمي. هذا يحترم خيار `base-index` إذا تم تعيينه. إذا كان `off`، فلا تقم بإعادة ترقيم النوافذ.

repeat-time time
اسمح بإدخال أوامر متعددة دون الضغط على مفتاح البادئة مرة أخرى في الوقت المحدد بالمللي ثانية (القيمة الافتراضية هي 500). يمكن تحديد ما إذا كان المفتاح سيتكرر عند ربطه باستخدام العلامة `-r` في الأمر `bind-key`. يتم تمكين التكرار للمفاتيح الافتراضية المرتبطة بالأمر `resize-pane`. انظر أيضًا الخيار `initial-repeat-time`.

set-titles [تشغيل | إيقاف]

حاول تعيين عنوان طرفية العميل باستخدام إدخالات tsl و fsl في terminfo(5) إذا كانت موجودة. يقوم tmux تلقائيًا بتعيين هذه الإدخالات إلى التسلسل \e]0;...\007 إذا بدت الطرفية وكأنها xterm(1). هذا الخيار معطل افتراضيًا.

set-titles-string سلسلة

السلسلة المستخدمة لتعيين عنوان طرفية العميل إذا تم تشغيل set-titles. يتم توسيع التنسيقات، راجع قسم "التنسيقات".

silence-action [أي | لا شيء | الحالي | آخر]

عيّن الإجراء عند حدوث صمت في النافذة عندما يكون monitor-silence قيد التشغيل. القيم هي نفسها المستخدمة لـ activity-action.

status [إيقاف | تشغيل | 2 | 3 | 4 | 5]

اعرض أو أخفِ شريط الحالة أو حدد حجمه. يؤدي استخدام "تشغيل" إلى إظهار شريط حالة بارتفاع صف واحد؛ 2، 3، 4 أو 5 صفوف إضافية.

status-format[] تنسيق

حدد التنسيق المراد استخدامه لكل سطر من شريط الحالة. يقوم التنسيق الافتراضي بإنشاء شريط الحالة العلوي من خيارات الحالة الفردية المختلفة أدناه.

status-interval فاصل

قم بتحديث شريط الحالة كل فاصل ثوانٍ. افتراضيًا، ستحدث التحديثات كل 15 ثانية. يؤدي تحديد قيمة صفر إلى تعطيل إعادة الرسم في الفاصل الزمني.

status-justify [يسار | وسط | يمين | وسط-مطلق]

عيّن موضع قائمة النوافذ في شريط الحالة: يسار، وسط أو يمين. يضع "الوسط" قائمة النوافذ في منتصف المساحة الحرة المتاحة؛ يستخدم "الوسط-المطلق" مركز المساحة الأفقية بأكملها.

status-keys [vi | emacs]

استخدم روابط مفاتيح نمط vi أو نمط emacs في شريط الحالة، على سبيل المثال في موجه الأوامر. الافتراضي هو emacs، ما لم يتم تعيين متغيرات البيئة VISUAL أو EDITOR وتحتوي على السلسلة "vi".

status-left سلسلة

اعرض سلسلة (افتراضيًا اسم الجلسة) على يسار شريط الحالة. سيتم تمرير السلسلة إلى strftime(3). انظر أيضًا قسمي "التنسيقات" و "الأنماط".

#(sysctl vm.loadavg)
#[fg=yellow,bold]#(apm -l)%%#[default] [#S]

الافتراضي هو '[#S] '.

status-left-length طول

عيّن الحد الأقصى لطول المكون الأيسر من شريط الحالة. الافتراضي هو 10.

status-left-style نمط

عيّن نمط الجزء الأيسر من شريط الحالة. راجع قسم "الأنماط" لمعرفة كيفية تحديد النمط.

status-position [أعلى | أسفل]

عيّن موضع شريط الحالة.

status-right سلسلة

اعرض سلسلة على يمين شريط الحالة. افتراضيًا، يتم عرض عنوان اللوحة الحالي بين علامتي اقتباس مزدوجتين، والتاريخ والوقت. كما هو الحال مع status-left، سيتم تمرير السلسلة إلى strftime(3) وسيتم استبدال أزواج الأحرف.

status-right-length طول

عيّن الحد الأقصى لطول المكون الأيمن من شريط الحالة. الافتراضي هو 40.

status-right-style نمط

عيّن نمط الجزء الأيمن من شريط الحالة. راجع قسم "الأنماط" لمعرفة كيفية تحديد النمط.

status-style نمط

عيّن نمط شريط الحالة. راجع قسم "الأنماط" لمعرفة كيفية تحديد النمط.


تحديث-البيئة[] متغير
يحدد قائمة متغيرات البيئة المراد نسخها إلى بيئة الجلسة عند إنشاء جلسة جديدة أو إرفاق جلسة موجودة. أي متغيرات غير موجودة في البيئة المصدر سيتم تعيينها لإزالتها من بيئة الجلسة (كما لو تم إعطاء الخيار `-r` للأمر `تعيين-البيئة`).

نشاط-مرئي [تشغيل | إيقاف | كلاهما]
إذا تم تعيينه على "تشغيل"، فسيتم عرض رسالة بدلاً من إرسال صوت تنبيه عند حدوث نشاط في نافذة تم تمكين خيار "مراقبة-النشاط" لها. إذا تم تعيينه على "كلاهما"، فسيتم عرض صوت تنبيه ورسالة.

تنبيه-مرئي [تشغيل | إيقاف | كلاهما]
إذا تم تعيينه على "تشغيل"، فسيتم عرض رسالة على شاشة التنبيه في نافذة تم تمكين خيار "مراقبة-التنبيه" لها بدلاً من تمريرها إلى الطرفية (مما يصدر عادةً صوتًا). إذا تم تعيينه على "كلاهما"، فسيتم عرض صوت تنبيه ورسالة. انظر أيضًا الخيار "إجراء-التنبيه".

صمت-مرئي [تشغيل | إيقاف | كلاهما]
إذا تم تمكين "مراقبة-الصمت"، فإنه يطبع رسالة بعد انتهاء الفترة المحددة على نافذة معينة بدلاً من إرسال صوت تنبيه. إذا تم تعيينه على "كلاهما"، فسيتم عرض صوت تنبيه ورسالة.

فواصل-الكلمات سلسلة
يحدد مفهوم الجلسة عن الأحرف التي تعتبر فواصل كلمات، لأغراض أوامر "الكلمة التالية" و "الكلمة السابقة" في وضع النسخ.

خيارات النوافذ المتاحة هي:

تغيير-الحجم-بشكل-عدواني [تشغيل | إيقاف]
يغير حجم النافذة المحددة بشكل عدواني. هذا يعني أن tmux سيقوم بتغيير حجم النافذة إلى حجم أصغر أو أكبر جلسة (انظر خيار "حجم-النافذة") والتي هي النافذة الحالية، بدلاً من الجلسة التي تم إرفاقها بها. قد يتم تغيير حجم النافذة عند تغيير النافذة الحالية في جلسة أخرى؛ هذا الخيار جيد للبرامج التي تعمل في وضع ملء الشاشة والتي تدعم إشارة `SIGWINCH`، ولكنه غير جيد للبرامج التفاعلية مثل الأوامر الطرفية.

إعادة-التسمية-التلقائية [تشغيل | إيقاف]
التحكم في إعادة تسمية النوافذ تلقائيًا. عند تمكين هذا الإعداد، سيقوم tmux بإعادة تسمية النافذة تلقائيًا باستخدام التنسيق المحدد بواسطة "تنسيق-إعادة-التسمية-التلقائية". يتم تعطيل هذا الخيار تلقائيًا لنافذة معينة عند تحديد اسم في وقت الإنشاء باستخدام `نافذة-جديدة` أو `جلسة-جديدة`، أو لاحقًا باستخدام `إعادة-تسمية-النافذة`، أو باستخدام تسلسل هروب الطرفية. يمكن إيقافه عالميًا باستخدام:

    تعيين-الخيار -wg إعادة-التسمية-التلقائية إيقاف

تنسيق-إعادة-التسمية-التلقائية تنسيق
التنسيق (انظر "التنسيقات") المستخدم عندما يتم تمكين خيار "إعادة-التسمية-التلقائية".

لون-وضع-الساعة لون
تعيين لون الساعة.

نمط-وضع-الساعة [12 | 24 | 12-مع-الثواني | 24-مع-الثواني]
تعيين تنسيق ساعة.

حرف-التعبئة حرف
تعيين الحرف المستخدم لملء المناطق غير المستخدمة في النافذة.

ارتفاع-النافذة-الرئيسية ارتفاع
عرض-النافذة-الرئيسية عرض
تعيين ارتفاع أو عرض النافذة الرئيسية (اليسرى أو العلوية) في تخطيطات "أفقي-رئيسي"، أو "أفقي-رئيسي-معكوس"، أو "عمودي-رئيسي"، أو "عمودي-رئيسي-معكوس". إذا تم وضع لاحقة '%'، فهذا يمثل نسبة مئوية من حجم النافذة.

نمط-مطابقة-وضع-النسخ نمط
تعيين نمط المطابقات في وضع النسخ. للحصول على كيفية تحديد النمط، انظر قسم "الأنماط".

copy-mode-mark-style style
يحدد نمط السطر الذي يحتوي على العلامة في وضع النسخ. لمعرفة كيفية تحديد النمط، راجع قسم "الأنماط".

copy-mode-current-match-style style
يحدد نمط المطابقة الحالية في وضع النسخ. لمعرفة كيفية تحديد النمط، راجع قسم "الأنماط".

copy-mode-position-format format
تنسيق مؤشر الموضع في وضع النسخ.

mode-keys [vi | emacs]
يستخدم روابط مفاتيح على طراز vi أو emacs في وضع النسخ. الافتراضي هو emacs، ما لم تحتوي المتغيرات VISUAL أو EDITOR على "vi".

copy-mode-position-style style
يحدد نمط مؤشر الموضع في وضع النسخ. لمعرفة كيفية تحديد النمط، راجع قسم "الأنماط".

copy-mode-selection-style style
يحدد نمط التحديد في وضع النسخ. لمعرفة كيفية تحديد النمط، راجع قسم "الأنماط".

mode-style style
يحدد نمط نوافذ الوضع. لمعرفة كيفية تحديد النمط، راجع قسم "الأنماط".

monitor-activity [on | off]
يراقب النشاط في النافذة. يتم تمييز النوافذ التي بها نشاط في شريط الحالة.

monitor-bell [on | off]
يراقب وجود صوت تنبيه في النافذة. يتم تمييز النوافذ التي بها صوت تنبيه في شريط الحالة.

monitor-silence [interval]
يراقب الصمت (عدم وجود نشاط) في النافذة خلال فترة زمنية محددة بالثواني. يتم تمييز النوافذ التي ظلت صامتة للفترة المحددة في شريط الحالة. يؤدي تحديد فترة زمنية تساوي صفرًا إلى تعطيل المراقبة.

other-pane-height height
يحدد ارتفاع النوافذ الأخرى (بخلاف النافذة الرئيسية) في التخطيطين main-horizontal و main-horizontal-mirrored. إذا تم تعيين هذا الخيار على 0 (وهو الإعداد الافتراضي)، فلن يكون له أي تأثير. إذا تم تعيين كل من الخيارين main-pane-height و other-pane-height، فستزداد النافذة الرئيسية في الارتفاع لجعل النوافذ الأخرى بالارتفاع المحدد، ولكن لن يتقلص حجمها أبدًا. إذا تم إضافة اللاحقة "%"، فهذا يمثل نسبة مئوية من حجم النافذة.

other-pane-width width
يشبه other-pane-height، ولكن يحدد عرض النوافذ الأخرى في التخطيطين main-vertical و main-vertical-mirrored.

pane-active-border-style style
يحدد نمط حدود النافذة النشطة. لمعرفة كيفية تحديد النمط، راجع قسم "الأنماط". يتم تجاهل السمات.

pane-base-index index
يشبه base-index، ولكنه يحدد فهرس البداية لأرقام النوافذ.

pane-border-format format
يحدد النص الذي يظهر في أسطر حالة حدود النافذة.

pane-border-indicators [off | colour | arrows | both]
يشير إلى النافذة النشطة عن طريق تلوين نصف الحدود فقط في النوافذ التي تحتوي على نافذتين بالضبط، أو عن طريق عرض علامات الأسهم، أو عن طريق رسم كليهما أو لا شيء.

pane-border-lines type
يحدد نوع الأحرف المستخدمة لرسم حدود النوافذ. يمكن أن يكون type أحد الأنواع التالية:

single  خطوط فردية باستخدام أحرف ACS أو UTF-8

double  خطوط مزدوجة باستخدام أحرف UTF-8

heavy   خطوط سميكة باستخدام أحرف UTF-8

simple  أحرف ASCII بسيطة

number  رقم النافذة

spaces  أحرف مسافة

سيؤدي "double" و "heavy" إلى الرجوع إلى أحرف رسم الخطوط ACS القياسية عند عدم توفر دعم UTF-8.

pane-border-status [إيقاف | أعلى | أسفل]
يقوم بتشغيل أو إيقاف تشغيل أسطر حالة حدود اللوحة أو يحدد موضعها.

pane-border-style النمط
يحدد نمط حدود اللوحة للوحات بخلاف اللوحة النشطة. لمعرفة كيفية تحديد
النمط، انظر قسم "الأنماط". يتم تجاهل السمات.

popup-style النمط
يحدد نمط النافذة المنبثقة. انظر قسم "الأنماط" لمعرفة كيفية تحديد النمط. يتم تجاهل السمات.

popup-border-style النمط
يحدد نمط حدود النافذة المنبثقة. انظر قسم "الأنماط" لمعرفة كيفية تحديد النمط. يتم تجاهل السمات.

popup-border-lines النوع
يحدد نوع الأحرف المستخدمة لرسم حدود النافذة المنبثقة. يمكن أن يكون النوع أحد الأنواع التالية:

single  خطوط مفردة تستخدم أحرف ACS أو UTF-8 (افتراضي)

rounded
    تنوع من النوع "single" مع زوايا مستديرة باستخدام أحرف UTF-8

double  خطوط مزدوجة تستخدم أحرف UTF-8

heavy   خطوط سميكة تستخدم أحرف UTF-8

simple  أحرف ASCII بسيطة

padded  حرف مسافة ASCII بسيط

none    لا توجد حدود

ستعود "double" و "heavy" إلى أحرف رسم الخطوط ACS القياسية عندما لا يتم دعم UTF-8.

pane-scrollbars [إيقاف | مؤقت | تشغيل]
عند التمكين، يظهر شريط تمرير قائم على الأحرف على يسار أو يمين كل لوحة.
يمثل قسم مملوء من شريط التمرير، المعروف باسم "المنزلق"، موضع وحجم
الجزء المرئي من محتوى اللوحة.

إذا تم تعيينه على "تشغيل"، يكون شريط التمرير مرئيًا طوال الوقت. إذا تم تعيينه على "مؤقت"، يظهر شريط التمرير فقط عندما تكون اللوحة في وضع النسخ أو وضع العرض.
عندما يكون شريط التمرير مرئيًا، يتم تضييق اللوحة بعرض شريط التمرير ويتم إعادة تنسيق النص الموجود في اللوحة.
إذا تم تعيينه على "مؤقت"، يتم تضييق اللوحة فقط عندما يكون شريط التمرير مرئيًا.

انظر أيضًا pane-scrollbars-style.

pane-scrollbars-style النمط
يحدد نمط أشرطة التمرير. لمعرفة كيفية تحديد النمط، انظر قسم "الأنماط". يتم استخدام اللون الأمامي للمنزلق، والخلفية لبقية شريط التمرير.
يحدد سمة "العرض" عرض شريط التمرير، وتحدد سمة "الحشو" المسافة بين شريط التمرير واللوحة. يتم تجاهل السمات الأخرى.

pane-scrollbars-position [يسار | يمين]
يحدد الجانب الذي يجب عرض أشرطة التمرير فيه.

pane-status-current-style النمط
يحدد نمط سطر الحالة للوحة النشطة حاليًا. لمعرفة كيفية تحديد النمط، انظر قسم "الأنماط".

pane-status-style النمط
يحدد نمط سطر الحالة للوحة واحدة. لمعرفة كيفية تحديد النمط، انظر قسم "الأنماط".

session-status-current-style النمط
يحدد نمط سطر الحالة للجلسة النشطة حاليًا. لمعرفة كيفية تحديد النمط، انظر قسم "الأنماط".

session-status-style النمط
يحدد نمط سطر الحالة لجلسة واحدة. لمعرفة كيفية تحديد النمط، انظر قسم "الأنماط".

tiled-layout-max-columns العدد
يحدد الحد الأقصى لعدد الأعمدة في التخطيط الموزع. القيمة 0 (الافتراضي) تعني عدم وجود حد.
عند تعيين حد، يتم ترتيب اللوحات بحيث لا يتجاوز هذا العدد من الأعمدة، مع وضع اللوحات الإضافية في صفوف إضافية.

window-status-activity-style style
يحدد نمط شريط الحالة للنوافذ التي تحتوي على تنبيه نشاط. لمعرفة كيفية تحديد النمط، انظر إلى قسم "الأنماط".

window-status-bell-style style
يحدد نمط شريط الحالة للنوافذ التي تحتوي على تنبيه صوت. لمعرفة كيفية تحديد النمط، انظر إلى قسم "الأنماط".

window-status-current-format string
يشبه window-status-format، ولكن هذا هو التنسيق المستخدم عندما تكون النافذة هي النافذة النشطة حاليًا.

window-status-current-style style
يحدد نمط شريط الحالة للنافذة النشطة حاليًا. لمعرفة كيفية تحديد النمط، انظر إلى قسم "الأنماط".

window-status-format string
يحدد التنسيق الذي يتم به عرض النافذة في قائمة النوافذ في شريط الحالة. انظر إلى قسمي "التنسيقات" و"الأنماط".

window-status-last-style style
يحدد نمط شريط الحالة للنافذة النشطة الأخيرة. لمعرفة كيفية تحديد النمط، انظر إلى قسم "الأنماط".

window-status-separator string
يحدد الفاصل الذي يتم رسمه بين النوافذ في شريط الحالة. الافتراضي هو مسافة واحدة.

window-status-style style
يحدد نمط شريط الحالة لنافذة واحدة. لمعرفة كيفية تحديد النمط، انظر إلى قسم "الأنماط".

window-size largest | 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]
يسمح للبرامج الموجودة في الجزء بتجاوز tmux باستخدام تسلسل هروب الطرفية (\ePtmux;...\e\\). إذا تم تعيينه على 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-colour colour
يحدد لون المؤشر.

cursor-style style
يحدد نمط المؤشر. الأنماط المتاحة هي: default، blinking-block، block، blinking-underline، underline، blinking-bar، bar.

pane-colours[] colour
لوحة الألوان الافتراضية. يحدد كل عنصر في المصفوفة اللون الذي يستخدمه tmux عندما يتم طلب اللون الذي له هذا الفهرس. يمكن أن يكون الفهرس من صفر إلى 255.

remain-on-exit [on | off | failed]
لا يتم تدمير اللوحة التي تم تعيين هذا العلم لها عند خروج البرنامج الذي يعمل بداخلها. إذا تم تعيينه على "فشل"، فسيتم فقط عندما يكون رمز خروج البرنامج غير صفري. يمكن إعادة تنشيط اللوحة باستخدام الأمر `respawn-pane`.

remain-on-exit-format string
يتم تعيين النص الذي يظهر في أسفل اللوحات التي انتهى عملها عند تمكين الخيار `remain-on-exit`.

scroll-on-clear [on | off]
عند مسح الشاشة بالكامل، وإذا كان هذا الخيار قيد التشغيل، فسيتم تمرير محتويات الشاشة إلى السجل قبل مسحها.

synchronize-panes [on | off]
يتم تكرار الإدخال في جميع اللوحات الأخرى في نفس النافذة حيث يكون هذا الخيار قيد التشغيل أيضًا (فقط للوحات التي ليست في أي وضع).

window-active-style style
يتم تعيين نمط اللوحة عندما تكون اللوحة هي اللوحة النشطة. لمعرفة كيفية تحديد النمط، راجع قسم "STYLES".

window-style style
يتم تعيين نمط اللوحة. لمعرفة كيفية تحديد النمط، راجع قسم "STYLES".

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-". على سبيل المثال، يقوم الأمر التالي بإضافة خطاف لتحديد التخطيط "even-vertical" بعد كل أمر `split-window`:

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] [-t target-pane] hook-name [command]

بدون الخيار -R، يتم تعيين (أو مع الخيار -u يتم إلغاء تعيين) الحدث "hook-name" للأمر. تكون الأعلام هي نفسها المستخدمة في الأمر "set-option".

مع الخيار -R، يتم تنفيذ الحدث "hook-name" على الفور.

show-hooks [-gpw] [-t target-pane] [hook]

يعرض الأحداث. تكون الأعلام هي نفسها المستخدمة في الأمر "show-options".

دعم الماوس

إذا كان خيار الماوس قيد التشغيل (افتراضيًا يكون معطلاً)، يسمح tmux بربط أحداث الماوس كمفاتيح. يتكون اسم كل مفتاح من حدث ماوس (مثل 'MouseUp1') وموقع، أحد الخيارات التالية:

Pane            محتويات اللوحة
Border          حدود اللوحة
Status          شريط الحالة (نافذة قائمة النوافذ)
StatusLeft      الجزء الأيسر من شريط الحالة
StatusRight     الجزء الأيمن من شريط الحالة
StatusDefault       أي جزء آخر من شريط الحالة
ScrollbarSlider     شريط تمرير المحتوى
ScrollbarUp     فوق شريط تمرير المحتوى
ScrollbarDown       أسفل شريط تمرير المحتوى

أحداث الماوس المتاحة هي:

WheelUp     WheelDown
MouseDown1      MouseUp1        MouseDrag1      MouseDragEnd1
MouseDown2      MouseUp2        MouseDrag2      MouseDragEnd2
MouseDown3      MouseUp3        MouseDrag3      MouseDragEnd3
SecondClick1        SecondClick2        SecondClick3
DoubleClick1        DoubleClick2        DoubleClick3
TripleClick1        TripleClick2        TripleClick3

يتم إطلاق أحداث "SecondClick" عند النقر الثاني من النقر المزدوج، حتى لو كان هناك نقر ثالث سيؤدي إلى إطلاق "TripleClick" بدلاً من "DoubleClick".


يجب أن يتم إضافة لاحقة لكل عنصر، على سبيل المثال 'MouseDown1Status'.

يمكن استخدام الرمز الخاص '{mouse}' أو '=' كهدف للنافذة أو اللوحة في الأوامر المرتبطة بروابط مفاتيح الماوس. يتم تفسير ذلك على أنه النافذة أو اللوحة التي حدث عليها حدث الماوس (على سبيل المثال، النافذة في سطر الحالة التي تم النقر فوق الزر 1 عليها في الربط 'MouseUp1Status'، أو اللوحة التي تم تمرير عجلة الماوس فوقها في الربط 'WheelDownPane').

يمكن استخدام العلامة -M في الأمر send-keys لتوجيه حدث الماوس إلى لوحة.

تسمح روابط المفاتيح الافتراضية باستخدام الماوس لتحديد وتغيير حجم اللوحات، ونسخ النص، وتغيير النافذة باستخدام سطر الحالة. يتم تفعيل ذلك إذا كانت خاصية الماوس قيد التشغيل.

التنسيقات

تقبل بعض الأوامر العلامة `-F` مع وسيطة التنسيق. هذا عبارة عن سلسلة تتحكم في تنسيق إخراج الأمر. يتم إحاطة متغيرات التنسيق بـ '`#{`' و '`}`'، على سبيل المثال '`#{session_name}`'. يتم سرد المتغيرات الممكنة في الجدول أدناه، أو يمكن استخدام اسم خيار tmux لقيمة الخيار، أو اسم متغير بيئة. بعض المتغيرات لها اختصار أقصر مثل '#S'؛ يتم استبدال '`##`' بـ '#' واحد، و'`#,`' بـ '،'، و'`#}`' بـ '}'.

تتوفر الشروط عن طريق إضافة بادئة '`?`'. لكل زوج من الوسيطتين، إذا كان المتغير في الوسيطة الأولى موجودًا وغير صفري، يتم اختيار الوسيطة الثانية، وإلا فإنه يتابع. إذا لم تتطابق أي شرط من الوسيطات المقترنة، يتم اختيار القيمة الافتراضية. إذا كانت هناك وسيطة أخيرة غير مقترنة، فهي القيمة الافتراضية. إذا لم يكن الأمر كذلك، فإن القيمة الافتراضية هي سلسلة فارغة. على سبيل المثال، سيقوم '`#{?session_attached,attached,not attached}`' بتضمين السلسلة '`attached`' إذا كانت الجلسة متصلة والسلسلة '`not attached`' إذا لم تكن كذلك، أو سيقوم '`#{?automatic-rename,yes,no}`' بتضمين '`yes`' إذا تم تمكين '`automatic-rename`'، أو '`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}`' بـ '`1`' إذا كان يعمل على '`myhost`'، وإلا فإنه يتم استبداله بـ '`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'، سيتم إلغاء أحرف الهاشاش (بحيث تصبح '#' هي '##'). '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} }

'N:' يتحقق مما إذا كان اسم نافذة (بدون أي لاحقة أو مع اللاحقة 'w') أو اسم جلسة (مع اللاحقة 's') موجودًا، على سبيل المثال، 'N/w:foo' سيتم استبداله بـ 1 إذا كانت هناك نافذة باسم 'foo'.

البادئة بالشكل 's/foo/bar/:' ستقوم باستبدال 'foo' بـ 'bar' في كل مكان. يمكن أن تكون الوسيطة الأولى تعبيرًا عاديًا موسعًا ويمكن أن تكون الوسيطة الأخيرة 'i' لتجاهل حالة الأحرف، على سبيل المثال، 's/a(.)/\1x/i:' سيغير 'abABab' إلى 'bxBxbx'. يمكن أيضًا استخدام حرف محدد مختلف لتجنب الاصطدامات مع الشرطات المائلة الحرفية في النمط. على سبيل المثال، 's|foo/|bar/|:' سيستبدل 'foo/' بـ 'bar/'.

يمكن فصل مُعدِّلات متعددة باستخدام فاصلة منقوطة (;)، كما في ‘#{T;=10:status-left}’، مما يحدِّد سلسلة strftime(3) الناتجة بحيث لا يتجاوز طولها 10 أحرف.

بالإضافة إلى ذلك، يمكن إدراج السطر الأخير من مخرجات أمر shell باستخدام ‘#()’. على سبيل المثال، سيؤدي ‘#(uptime)’ إلى إدراج وقت تشغيل النظام. عند إنشاء التنسيقات، لا ينتظر tmux حتى تنتهي أوامر ‘#()’؛ بدلاً من ذلك، يتم استخدام النتيجة السابقة لتشغيل الأمر نفسه، أو عنصر نائب إذا لم يتم تشغيل الأمر من قبل. إذا لم يكتمل الأمر، فسيتم استخدام السطر الأخير من المخرجات، ولكن لن يتم تحديث شريط الحالة أكثر من مرة واحدة في الثانية. يتم تنفيذ الأوامر باستخدام /bin/sh ومع تعيين بيئة tmux العامة (انظر قسم “البيئة العامة والبيئة الخاصة بالجلسة”).

يحدد ‘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 المحفوظ للمؤشر في الشاشة البديلة
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                     معرف عملية عملية العميل
client_prefix                  1 إذا تم الضغط على مفتاح البادئة
client_readonly                1 إذا كان العميل في وضع القراءة فقط
client_session                 اسم جلسة العميل
client_termfeatures            ميزات الطرفية للعميل، إن وجدت
client_termname                اسم الطرفية للعميل
client_termtype                نوع الطرفية للعميل، إن وجد
client_tty                     الطرفية الزائفة للعميل
client_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 للمؤشر في وضع النسخ
current_file                   ملف التهيئة الحالي
cursor_character               الحرف الموجود في موضع المؤشر في الجزء
cursor_colour                  لون المؤشر في الجزء
cursor_flag                    علامة مؤشر الجزء
cursor_shape                   شكل المؤشر في الجزء
cursor_very_visible            1 إذا كان المؤشر مرئيًا جدًا
start_time                     وقت بدء الخادم
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                   علامات النافذة مع إلغاء ترميز # كـ ##
window_format                  1 إذا كان التنسيق للنافذة
window_height                  ارتفاع النافذة
window_id                      معرف النافذة الفريد
window_index                   فهرس النافذة
window_last_flag               1 إذا كانت النافذة هي آخر نافذة مستخدمة
window_layout                  وصف تخطيط النافذة، مع تجاهل الأجزاء المتضخمة
window_linked                  1 إذا كانت النافذة مرتبطة عبر الجلسات
window_linked_sessions         عدد الجلسات التي ترتبط بها هذه النافذة
window_linked_sessions_list    قائمة الجلسات التي ترتبط بها هذه النافذة
window_marked_flag             1 إذا كانت النافذة تحتوي على الجزء المحدد
window_name                    اسم النافذة
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                      علامة التفاف الجزء
socket_path                    مسار مقبس الخادم
sixel_support                  1 إذا كان الخادم يدعم SIXEL
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_index                  فهرس الجلسة
session_last_attached          الوقت الذي تم فيه إرفاق الجلسة آخر مرة
session_many_attached          1 إذا تم إرفاق عملاء متعددين
session_marked                 1 إذا كانت هذه الجلسة تحتوي على الجزء المحدد
session_name                   اسم الجلسة
session_path                   دليل العمل للجلسة
session_silence_flag           1 إذا كانت أي نافذة في الجلسة بها تنبيه صامت
session_stack                  فهارس النوافذ بترتيب أحدث مكدس
session_windows                عدد النوافذ في الجلسة
server_sessions                عدد الجلسات

الأنماط

يوفر `tmux` خيارات متنوعة لتحديد لون وخصائص جوانب الواجهة، على سبيل المثال `status-style` لسطر الحالة. بالإضافة إلى ذلك، يمكن تحديد الأنماط المضمنة في خيارات التنسيق، مثل `status-left`، عن طريق تضمينها بين '#[ ' و ']'.

يمكن أن يكون النمط عبارة عن مصطلح واحد 'default' لتحديد النمط الافتراضي (والذي قد يأتي من خيار، على سبيل المثال `status-style` في سطر الحالة) أو قائمة مفصولة بمسافات أو فواصل من العناصر التالية:

`fg=colour`
يُعيّن لون المقدمة. اللون هو أحد: `black`، `red`، `green`، `yellow`، `blue`،
`magenta`، `cyan`، `white`؛ إذا كان مدعومًا، يمكن استخدام الأشكال الساطعة `brightblack`، `brightred`، ...؛
`colour0` إلى `colour255` من مجموعة الألوان المكونة من 256 لونًا؛ `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
يملأ المساحة المتاحة بلون الخلفية، إذا كان ذلك مناسبًا.

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` على أي استخدام لاحق للنمط الافتراضي للمحطة الطرفية حتى يتم استخدام `pop-default`.
يمكن فقط تخزين نمط افتراضي واحد (كل `push-default` يستبدل النمط الافتراضي المحفوظ السابق).

range=left، range=right، range=session|X، range=window|X، range=pane|X، range=user|X، 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` 15 بايت على الأكثر.

set-default
يُعيِّن الألوان والخصائص الحالية كافتراضية، مع استبدال أي نمط افتراضي سابق.
لا يمكن استعادة النمط الافتراضي السابق.

أمثلة:

fg=yellow bold underscore blink
bg=black,fg=default,noreverse

الأسماء والعناوين

يُفرِّق 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.

البيئة العامة والخاصة بالجلسة

عند بدء تشغيل الخادم، يقوم tmux بنسخ البيئة إلى البيئة العامة؛ بالإضافة إلى ذلك، تحتوي كل جلسة على بيئة خاصة بالجلسة. عند إنشاء نافذة، يتم دمج البيئة الخاصة بالجلسة والبيئة العامة. إذا كان المتغير موجودًا في كلتا البيئتين، يتم استخدام القيمة من البيئة الخاصة بالجلسة. والنتيجة هي البيئة الأولية التي يتم تمريرها إلى العملية الجديدة.

يمكن استخدام خيار الجلسة update-environment لتحديث البيئة الخاصة بالجلسة من العميل عند إنشاء جلسة جديدة أو إعادة توصيل جلسة قديمة. يقوم tmux أيضًا بتهيئة المتغير TMUX بمعلومات داخلية للسماح بتنفيذ الأوامر من الداخل، والمتغير TERM بإعداد الطرفية الصحيح على 'screen'.

يمكن وضع علامة على المتغيرات في كل من البيئات العامة والخاصة بالجلسة على أنها مخفية. لا يتم تمرير المتغيرات المخفية إلى بيئة العمليات الجديدة وبدلاً من ذلك يمكن استخدامها فقط بواسطة tmux نفسه (على سبيل المثال في التنسيقات، انظر قسم "التنسيقات").

الأوامر لتعديل وعرض البيئة هي:

`set-environment [-Fhgru] [-t target-session] variable [value]`
(alias: `setenv`)
يقوم بتعيين أو إلغاء تعيين متغير بيئة. إذا تم استخدام `-g`، يتم إجراء التغيير في البيئة العامة؛ وإلا، يتم تطبيقه على البيئة الخاصة بالجلسة `target-session`. إذا كانت `-F` موجودة، يتم توسيع `value` كتنسيق. يقوم العلم `-u` بإلغاء تعيين متغير. يشير `-r` إلى أنه يجب إزالة المتغير من البيئة قبل بدء عملية جديدة. يشير `-h` إلى أنه يجب وضع علامة على المتغير على أنه مخفي.

`show-environment [-hgs] [-t target-session] [variable]`
(alias: `showenv`)
يعرض البيئة الخاصة بـ `target-session` أو البيئة العامة مع `-g`. إذا تم حذف `variable`، يتم عرض جميع المتغيرات. يتم وضع بادئة للمتغيرات التي تمت إزالتها من البيئة بـ `'-'`. إذا تم استخدام `-s`، يتم تنسيق الإخراج كمجموعة من أوامر Bourne shell. يعرض `-h` المتغيرات المخفية (التي يتم حذفها افتراضيًا).

شريط الحالة

يتضمن tmux شريط حالة اختياريًا يتم عرضه في السطر السفلي لكل نافذة طرفية.

بشكل افتراضي، يكون شريط الحالة مُفعَّلاً ويتكون من سطر واحد (يمكن تعطيله أو جعله متعدد الأسطر باستخدام خيار جلسة status) ويحتوي، من اليسار إلى اليمين: على اسم الجلسة الحالية بين قوسين مربعين؛ وقائمة النوافذ؛ وعنوان الجزء النشط بين علامتي اقتباس مزدوجتين؛ والوقت والتاريخ.

يتم تكوين كل سطر من شريط الحالة باستخدام خيار status-format. يتكون الإعداد الافتراضي من ثلاثة أجزاء: أجزاء يمنى ويسرى قابلة للتكوين (والتي يمكن أن تحتوي على محتوى ديناميكي مثل الوقت أو مخرجات أمر shell، انظر الخيارات 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 [-T prompt-type]
(alias: clearphist)
مسح سجل المطالبات لنوع المطالبة `prompt-type`. إذا تم حذف `-T`، فسيتم مسح السجل لجميع الأنواع. راجع `command-prompt` للحصول على القيم المحتملة لـ `prompt-type`.

command-prompt [-1bFiklN] [-I inputs] [-p prompts] [-t target-client] [-T prompt-type] [template]
افتح المطالبة في عميل. يمكن استخدام هذا من داخل tmux لتنفيذ الأوامر بشكل تفاعلي.

إذا تم تحديد `template`، فسيتم استخدامه كأمر. باستخدام `-F`، يتم توسيع `template` كقالب.

إذا كان `-I` موجودًا، فإن `inputs` هي قائمة مفصولة بفواصل بالنص الأولي لكل مطالبة.
إذا تم إعطاء `-p`، فإن `prompts` هي قائمة مفصولة بفواصل بالمطالبات التي يتم عرضها بالترتيب؛ وإلا، يتم عرض مطالبة واحدة، يتم إنشاؤها من `template` إذا كانت موجودة، أو `:` إذا لم يكن كذلك. يعطل `-l` تقسيم المدخلات والمطالبات عند الفواصل ويعاملها حرفيًا.

قبل تنفيذ الأمر، يتم استبدال أول ظهور للسلسلة "%%" وجميع حالات ظهور "‎%1‎" باستجابة المطالبة الأولى، ويتم استبدال جميع "‎%2‎" باستجابة المطالبة الثانية، وهكذا بالنسبة للمطالبات اللاحقة. يمكن استبدال ما يصل إلى تسع استجابات للمطالبات ("‎%1‎" إلى "‎%9‎"). "‎%%%‎" مشابه لـ "‎%%‎" ولكن يتم إلغاء أي علامات اقتباس.

-1 يجعل المطالبة تقبل ضغطة مفتاح واحدة فقط، وفي هذه الحالة، يكون الإدخال الناتج عبارة عن حرف واحد. -k مشابه لـ -1 ولكن يتم ترجمة ضغطة المفتاح إلى اسم مفتاح. -N يجعل المطالبة تقبل فقط ضغطات مفاتيح رقمية. -i ينفذ الأمر في كل مرة يتغير فيها إدخال المطالبة بدلاً من عندما يخرج المستخدم من مطالبة الأوامر.

-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] [-c confirm-key] [-p prompt] [-t target-client] command
(alias: confirm)

اطلب التأكيد قبل تنفيذ الأمر. إذا تم إعطاء -p، فإن prompt هي المطالبة التي سيتم عرضها؛ وإلا، فسيتم إنشاء مطالبة من الأمر. قد تحتوي على تسلسلات الأحرف الخاصة المدعومة بواسطة خيار status-left. باستخدام -b، يتم عرض المطالبة في الخلفية ولا يخرج العميل الذي قام باستدعائها حتى يتم تجاهلها. -y يغير السلوك الافتراضي (إذا تم الضغط على Enter بمفرده) للمطالبة لتشغيل الأمر. -c يغير مفتاح التأكيد إلى confirm-key؛ الافتراضي هو "y".

display-menu [-OM] [-b border-lines] [-c target-client] [-C starting-choice] [-H selected-style]
[-s style] [-S border-style] [-t target-pane] [-T title] [-x position] [-y position] name
key command [name key command ...]
(alias: menu)

عرض قائمة على target-client. يعطي target-pane الهدف لأي أوامر يتم تشغيلها من القائمة.


يتم تمرير القائمة كسلسلة من الوسائط: أولاً اسم عنصر القائمة، ثم اختصار المفتاح (أو فارغ إذا لم يكن هناك اختصار)، وأخيراً الأمر الذي سيتم تنفيذه عند اختيار عنصر القائمة. يتم تنسيق الاسم والأمر، راجع قسمي "التنسيقات" و"الأنماط". إذا بدأ الاسم بشرطة (-)، فسيتم تعطيل العنصر (يظهر باهتًا) ولا يمكن اختياره. يمكن أن يكون الاسم فارغًا لإنشاء سطر فاصل، وفي هذه الحالة يجب حذف كل من المفتاح والأمر.

-b يحدد نوع الأحرف المستخدمة لرسم حدود القائمة. انظر `popup-border-lines` للحصول على القيم الممكنة لـ `border-lines`.

-H يحدد النمط لعنصر القائمة المحدد (انظر "الأنماط").

-s يحدد النمط للقائمة و -S يحدد النمط لحدود القائمة (انظر "الأنماط").

-T هو تنسيق لعنوان القائمة (انظر "التنسيقات").

-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] [-c target-client] [-d delay] [-t target-pane] [message]
(اسم مستعار: display)

اعرض رسالة. إذا تم إعطاء -p، يتم طباعة الإخراج إلى stdout، وإلا فسيتم عرضه في شريط الحالة الخاص بـ target-client لمدة تصل إلى delay ميلي ثانية. إذا لم يتم إعطاء delay، يتم استخدام خيار display-time؛ يؤدي التأخير الصفري إلى الانتظار حتى يتم الضغط على مفتاح. يتجاهل 'N' ضغطات المفاتيح ويغلق فقط بعد انتهاء التأخير. إذا تم إعطاء -C، فسيستمر تحديث اللوحة أثناء عرض الرسالة. إذا تم إعطاء -l، تتم طباعة الرسالة دون تغيير. خلاف ذلك، يتم وصف تنسيق الرسالة في قسم "FORMATS"؛ يتم الحصول على المعلومات من target-pane إذا تم إعطاء -t، وإلا فسيتم الحصول عليها من اللوحة النشطة.

يطبع -v تسجيلًا تفصيليًا أثناء تحليل التنسيق، ويقوم -a بإدراج متغيرات التنسيق وقيمها.

يقوم -I بتمرير أي إدخال يتم قراءته من stdin إلى اللوحة الفارغة المحددة بواسطة target-pane.

display-popup [-BCEkN] [-b border-lines] [-c target-client] [-d start-directory] [-e environment]
[-h height] [-s style] [-S border-style] [-t target-pane] [-T title] [-w width] [-x
position] [-y position] [shell-command [argument ...]]
(اسم مستعار: popup)

اعرض نافذة منبثقة تقوم بتشغيل shell-command (أو default-command عند حذفها) على target-client. النافذة المنبثقة هي مربع مستطيل يتم رسمه فوق أي لوحات. لا يتم تحديث اللوحات أثناء وجود نافذة منبثقة. إذا تم تشغيل الأمر داخل نافذة منبثقة موجودة، فسيتم تعديل تلك النافذة المنبثقة. الخيارات الوحيدة المقبولة في هذه الحالة هي -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. راجع popup-border-lines للحصول على القيم الممكنة لـ border-lines.

يحدد -s النمط للنافذة المنبثقة ويحدد -S النمط لحدود النافذة المنبثقة (انظر "STYLES").

-e تأخذ الشكل "VARIABLE=value" وتعيّن متغير بيئة للنافذة المنبثقة؛ يمكن تحديدها عدة مرات.

-T هو تنسيق لعنوان النافذة المنبثقة (انظر "التنسيقات").

يغلق الوسيط -C أي نافذة منبثقة على العميل.

-N يعطّل أي خيار -E أو -EE أو -k تم تحديده سابقًا.

show-prompt-history [-T prompt-type]
(الاسم المستعار: showphist)
يعرض سجل المطالبات لنوع المطالبة المحدد. إذا تم حذف -T، فسيتم عرض السجل لجميع الأنواع. انظر الأمر command-prompt للحصول على القيم الممكنة لـ prompt-type.

المخازن المؤقتة

تحافظ tmux على مجموعة من المخازن المؤقتة المسماة. يمكن تسمية كل مخزن مؤقت إما بشكل صريح أو تلقائي. يتم تسمية المخازن المؤقتة المسماة بشكل صريح عند إنشائها باستخدام الأمر set-buffer أو load-buffer، أو عن طريق إعادة تسمية مخزن مؤقت تم إنشاؤه تلقائيًا باستخدام set-buffer -n. يتم إعطاء المخازن المؤقتة المسماة تلقائيًا اسمًا مثل "buffer0001" و "buffer0002" وهكذا. عندما يتم الوصول إلى الخيار buffer-limit، يتم حذف أقدم مخزن مؤقت تم إنشاؤه تلقائيًا. لا تخضع المخازن المؤقتة المسماة بشكل صريح للخيار buffer-limit ويمكن حذفها باستخدام الأمر delete-buffer.

يمكن إضافة المخازن المؤقتة باستخدام وضع النسخ أو الأوامر set-buffer و load-buffer، ويمكن لصقها في نافذة باستخدام الأمر paste-buffer. إذا تم استخدام أمر مخزن مؤقت ولم يتم تحديد مخزن مؤقت، فسيتم افتراض أحدث مخزن مؤقت تم إنشاؤه تلقائيًا.

يتم أيضًا الاحتفاظ بمخزن مؤقت للتاريخ القابل للتكوين لكل نافذة. افتراضيًا، يتم الاحتفاظ بما يصل إلى 2000 سطر؛ يمكن تغيير ذلك باستخدام الخيار history-limit (انظر الأمر set-option أعلاه).

تتمثل أوامر المخازن المؤقتة فيما يلي:

choose-buffer [-NryZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane] [template]
يضع لوحة في وضع المخزن المؤقت، حيث يمكن اختيار مخزن مؤقت بشكل تفاعلي من قائمة. يتم عرض كل مخزن مؤقت في سطر واحد. يتم عرض مفتاح اختصار على اليسار في أقواس للسماح بالاختيار الفوري، أو يمكن التنقل في القائمة واختيار عنصر أو معالجته باستخدام المفاتيح أدناه. -Z يقوم بتكبير اللوحة. -y يعطّل أي مطالبات تأكيد. يمكن استخدام المفاتيح التالية في وضع المخزن المؤقت:

المفتاح   الوظيفة
Enter   لصق المخزن المؤقت المحدد
Up      تحديد المخزن المؤقت السابق
Down    تحديد المخزن المؤقت التالي
C-s     البحث بالاسم أو المحتوى
n       تكرار آخر بحث إلى الأمام
N       تكرار آخر بحث إلى الخلف
t       تبديل ما إذا كان المخزن المؤقت مُعلمًا
T       إلغاء تحديد جميع المخازن المؤقتة
C-t     تحديد جميع المخازن المؤقتة
p       لصق المخزن المؤقت المحدد
P       لصق المخازن المؤقتة التي تم تحديدها
d       حذف المخزن المؤقت المحدد
D       حذف المخازن المؤقتة التي تم تحديدها
e       فتح المخزن المؤقت في محرر
f       إدخال تنسيق لتصفية العناصر
O       تغيير حقل الفرز
r       عكس ترتيب الفرز
v       تبديل المعاينة
q       الخروج من الوضع

بعد اختيار مخزن مؤقت، يتم استبدال "%%" باسم المخزن المؤقت في القالب ويتم تنفيذه كأمر. إذا لم يتم إعطاء قالب، يتم استخدام "paste-buffer -p -b '%%'".

-O يحدد حقل الفرز الأولي: إما "time" (الإنشاء) أو "name" أو "size". -r يعكس ترتيب الفرز. -f يحدد مرشحًا أوليًا: المرشح هو تنسيق - إذا تم تقييمه إلى صفر، فلن يتم عرض العنصر في القائمة، وإلا فسيتم عرضه. إذا أدى المرشح إلى قائمة فارغة، فسيتم تجاهله. يحدد -F التنسيق لكل عنصر في القائمة، ويحدد -K تنسيقًا لكل مفتاح اختصار؛ يتم تقييم كليهما مرة واحدة لكل سطر. يبدأ -N بدون المعاينة. يعمل هذا الأمر فقط إذا كان عميلاً واحدًا على الأقل متصلاً.

clear-history [-H] [-t target-pane]
(alias: clearhist)

إزالة وتحرير سجل الهدف المحدد. الخيار -H يزيل أيضًا جميع الروابط التشعبية.

delete-buffer [-b buffer-name]
(alias: deleteb)

حذف المخزن المؤقت المسمى buffer-name، أو أحدث مخزن مؤقت تم إنشاؤه تلقائيًا إذا لم يتم تحديده.

list-buffers [-F format] [-f filter]
(alias: lsb)

عرض المخازن المؤقتة العامة. يحدد -F تنسيق كل سطر، ويحدد -f الفلتر. تعرض فقط المخازن المؤقتة التي يكون الفلتر الخاص بها صحيحًا. انظر قسم "التنسيقات".

load-buffer [-w] [-b buffer-name] [-t target-client] path
(alias: loadb)

تحميل محتويات المخزن المؤقت المحدد من المسار path. إذا تم إعطاء الخيار -w، يتم أيضًا إرسال المخزن المؤقت إلى الحافظة للعميل target-client باستخدام تسلسل الهروب xterm(1)، إذا أمكن. إذا كان المسار هو -، يتم قراءة المحتويات من الإدخال القياسي.

paste-buffer [-dpr] [-b buffer-name] [-s separator] [-t target-pane]
(alias: pasteb)

إدراج محتويات مخزن مؤقت في الهدف المحدد. إذا لم يتم تحديده، يتم الإدراج في الهدف الحالي. مع الخيار -d، يتم أيضًا حذف المخزن المؤقت. عند الإخراج، يتم استبدال أي أحرف سطر جديد (LF) في المخزن المؤقت بفاصل، افتراضيًا إرجاع السطر (CR). يمكن تحديد فاصل مخصص باستخدام الخيار -s. يعني الخيار -r عدم إجراء أي استبدال (ما يعادل فاصل سطر جديد LF). إذا تم تحديد الخيار -p، يتم إدراج رموز التحكم بين الأقواس حول المخزن المؤقت إذا كان التطبيق قد طلب وضع الإدراج بين الأقواس.

save-buffer [-a] [-b buffer-name] path
(alias: saveb)

حفظ محتويات المخزن المؤقت المحدد في المسار path. يضيف الخيار -a إلى الملف بدلاً من الكتابة فوقه. إذا كان المسار هو -، يتم كتابة المحتويات إلى الإخراج القياسي.

set-buffer [-aw] [-b buffer-name] [-t target-client] [-n new-buffer-name] data
(alias: setb)

تعيين محتويات المخزن المؤقت المحدد إلى data. إذا تم إعطاء الخيار -w، يتم أيضًا إرسال المخزن المؤقت إلى الحافظة للعميل target-client باستخدام تسلسل الهروب xterm(1)، إذا أمكن. يضيف الخيار -a إلى المخزن المؤقت بدلاً من الكتابة فوقه. يعيد الخيار -n تسمية المخزن المؤقت إلى new-buffer-name.

show-buffer [-b buffer-name]
(alias: showb)

عرض محتويات المخزن المؤقت المحدد.

متنوعة

الأوامر المتنوعة هي كما يلي:

clock-mode [-t target-pane]

عرض ساعة كبيرة.

if-shell [-bF] [-t target-pane] shell-command command [command]
(alias: if)

تنفيذ الأمر الأول إذا أرجع الأمر shell-command (يتم تشغيله باستخدام /bin/sh) نجاحًا، أو الأمر الثاني بخلاف ذلك. قبل التنفيذ، يتم توسيع shell-command باستخدام القواعد المحددة في قسم "التنسيقات"، بما في ذلك تلك المتعلقة بالهدف target-pane. مع الخيار -b، يتم تشغيل shell-command في الخلفية.


إذا تم تحديد -F، فلن يتم تنفيذ الأمر shell-command، ولكن سيتم اعتباره ناجحًا إذا لم يكن فارغًا أو صفرًا (بعد توسيع التنسيقات).

lock-server
(اسم مستعار: lock)
يقوم بتأمين كل عميل على حدة عن طريق تشغيل الأمر المحدد بواسطة خيار lock-command.

run-shell [-bCE] [-c start-directory] [-d delay] [-t target-pane] [shell-command]
(اسم مستعار: run)
ينفذ shell-command باستخدام /bin/sh أو (باستخدام -C) أمر tmux في الخلفية دون إنشاء نافذة. قبل التنفيذ، يتم توسيع shell-command باستخدام القواعد المحددة في قسم "التنسيقات". مع -b، يتم تشغيل الأمر في الخلفية. -d ينتظر لـ delay ثانية قبل بدء الأمر. -E يعيد توجيه stderr الخاص بالأمر إلى stdout بدلاً من تجاهله. إذا تم تحديد -c، يتم تعيين الدليل الحالي إلى start-directory. إذا لم يتم تحديد -C، يتم عرض أي إخراج إلى stdout في وضع العرض (في الجزء المحدد بواسطة -t أو الجزء الحالي إذا لم يتم تحديده) بعد انتهاء الأمر. إذا فشل الأمر، يتم عرض حالة الخروج.

wait-for [-L | -S | -U] channel
(اسم مستعار: wait)
عند استخدامه بدون خيارات، يمنع العميل من الخروج حتى يتم إيقاظه باستخدام wait-for -S بنفس القناة. عند استخدام -L، يتم تأمين القناة ويتم جعل أي عملاء يحاولون تأمين نفس القناة ينتظرون حتى يتم إلغاء تأمين القناة باستخدام wait-for -U.

رسائل الخروج

عندما ينفصل عميل tmux، فإنه يطبع رسالة. قد تكون إحدى الرسائل التالية:

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
تعطل الخادم أو خرج بطريقة أخرى دون إخبار العميل بالسبب.

امتدادات ترمينفو

يفهم 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

تعطيل وتمكين وضع اللصق بين قوسين. يتم تعيين هذه تلقائيًا إذا كانت إمكانية XT موجودة.

Dseks، Eneks

تعطيل وتمكين المفاتيح الموسعة.

Dsfcs، Enfcs

تعطيل وتمكين إعدادات التركيز. يتم تعيين هذه تلقائيًا إذا كانت إمكانية XT موجودة.

Hls

تعيين أو مسح تعليق ارتباط تشعبي.

Nobr

أخبر tmux أن الجهاز الطرفي لا يستخدم الألوان الزاهية للعرض الغامق.

Rect

أخبر tmux أن الجهاز الطرفي يدعم عمليات المستطيل.

Smol

تمكين سمة الخط العلوي.

Smulx

تعيين نمط خط سفلي. المعلمة الوحيدة هي: 0 لعدم وجود خط سفلي، و1 للخط السفلي العادي، و2 للخط السفلي المزدوج، و3 للخط السفلي المجعد، و4 للخط السفلي المنقط، و5 للخط السفلي المتقطع.

Setulc، Setulc1، ol

تعيين لون الخط السفلي أو إعادة تعيينه إلى الوضع الافتراضي. Setulc مخصص للألوان RGB وSetulc1 للألوان ANSI أو 256. تكون قيمة Setulc هي (أحمر * 65536) + (أخضر * 256) + أزرق، حيث تكون كل قيمة بين 0 و255.

Ss، Se

تعيين أو إعادة تعيين نمط المؤشر. إذا تم تعيينه، يمكن استخدام تسلسل مثل هذا لتغيير المؤشر إلى خط سفلي:

$ printf '\033[4 q'

إذا لم يتم تعيين Se، فسيتم استخدام Ss مع وسيطة 0 لإعادة تعيين نمط المؤشر بدلاً من ذلك.

Swd

تعيين التسلسل الافتتاحي لإشعار دليل العمل. يتم إنهاء التسلسل باستخدام إمكانية fsl القياسية.

Sxl

يشير إلى أن الجهاز الطرفي يدعم SIXEL.

Sync

بدء (المعلمة هي 1) أو إنهاء (المعلمة هي 2) التحديث المتزامن.

Tc

يشير إلى أن الجهاز الطرفي يدعم تسلسل الهروب المباشر للألوان RGB (على سبيل المثال، \e[38;2;255;255;255m).

إذا تم دعمه، فسيتم استخدامه لتسلسل الهروب الأولي للألوان (والذي يمكن تمكينه عن طريق إضافة إمكانات 'initc' و'ccc' إلى إدخال terminfo(5) الخاص بـ tmux).

هذا يعادل إمكانية RGB terminfo(5).

Ms

تخزين المخزن المؤقت الحالي في التحديد (الحافظة) للجهاز الطرفي المضيف. راجع خيار set-clipboard أعلاه وصفحة دليل xterm(1).

XT

هذه إمكانية امتداد موجودة يستخدمها tmux للإشارة إلى أن الجهاز الطرفي يدعم تسلسلات تعيين عنوان xterm(1) ولتعيين بعض الإمكانات أعلاه تلقائيًا.

وضع التحكم

تقدم tmux واجهة نصية تسمى وضع التحكم. يتيح ذلك للتطبيقات التواصل مع tmux باستخدام بروتوكول نصي بسيط فقط.

في وضع التحكم، يرسل العميل أوامر أو تسلسلات أوامر إلى tmux تنتهي بأسطر جديدة على الإدخال القياسي. سينتج كل أمر كتلة إخراج واحدة على الإخراج القياسي. تتكون كتلة الإخراج من سطر %begin متبوعًا بالإخراج (الذي قد يكون فارغًا). تنتهي كتلة الإخراج بسطر %end أو %error. تحتوي %begin و%end أو %error المتطابقان على ثلاثة وسائط: وقت صحيح (بالثواني من بداية العصر)، ورقم الأمر، وعلامات (ليست قيد الاستخدام حاليًا). على سبيل المثال:


%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-detached client

انفصل العميل.

%client-session-changed client session-id name

الآن، العميل متصل بالجلسة التي تحمل المعرّف session-id، والتي يطلق عليها name.

%config-error error

حدث خطأ في ملف التكوين.

%continue pane-id

تم استئناف اللوحة بعد إيقافها مؤقتًا (إذا تم تعيين علامة pause-after، راجع refresh-client -A).

%exit [reason]

يخرج عميل tmux على الفور، إما لأنه غير متصل بأي جلسة أو حدث خطأ. إذا كان موجودًا، يصف reason سبب خروج العميل.

%extended-output pane-id age ... : value

شكل جديد من %output يتم إرساله عندما يتم تعيين علامة pause-after. age هو الوقت بالمللي ثانية الذي قامت tmux بتخزينه مؤقتًا قبل إرسال الإخراج. أي وسائط لاحقة حتى علامة ":" مخصصة للاستخدام المستقبلي ويجب تجاهلها.

%layout-change window-id window-layout window-visible-layout window-flags

تغير تصميم النافذة التي تحمل المعرّف window-id. التصميم الجديد هو window-layout. تصميم النافذة المرئي هو window-visible-layout وتكون علامات النافذة هي window-flags.

%message message

رسالة تم إرسالها باستخدام الأمر display-message.

%output pane-id value

أنتجت نافذة اللوحة إخراجًا. تقوم value بإلغاء رموز الأحرف غير القابلة للطباعة وشرطة مائلة للخلف كـ \xxx ثماني.

%pane-mode-changed pane-id

تغيرت حالة اللوحة التي تحمل المعرّف pane-id.

%paste-buffer-changed name

تم تغيير اسم مخزن اللصق.

%paste-buffer-deleted name

تم حذف اسم مخزن اللصق.

%pause pane-id

تم إيقاف اللوحة مؤقتًا (إذا تم تعيين علامة pause-after).

%session-changed session-id name

الآن، العميل متصل بالجلسة التي تحمل المعرّف session-id، والتي يطلق عليها name.

%session-renamed name

تمت إعادة تسمية الجلسة الحالية إلى name.

%session-window-changed session-id window-id

قامت الجلسة التي تحمل المعرّف session-id بتغيير نافذتها النشطة إلى النافذة التي تحمل المعرّف window-id.

%sessions-changed

تم إنشاء جلسة أو حذفها.

%subscription-changed name session-id window-id window-index pane-id ... : value

تغيرت قيمة التنسيق المرتبط بالاشتراك name إلى value. راجع refresh-client -B. أي وسائط بعد pane-id حتى علامة ":" مخصصة للاستخدام المستقبلي ويجب تجاهلها.

%unlinked-window-add window-id

تم إنشاء النافذة التي تحمل المعرّف window-id ولكنها غير مرتبطة بالجلسة الحالية.

%unlinked-window-close window-id

تم إغلاق النافذة التي تحمل المعرّف window-id، والتي ليست مرتبطة بالجلسة الحالية.


%unlinked-window-renamed window-id

تمت إعادة تسمية النافذة ذات المعرّف window-id، والتي ليست مرتبطة بالجلسة الحالية.

%window-add window-id

تم ربط النافذة ذات المعرّف window-id بالجلسة الحالية.

%window-close window-id

تم إغلاق النافذة ذات المعرّف window-id.

%window-pane-changed window-id pane-id

تغيرت اللوحة النشطة في النافذة ذات المعرّف window-id لتصبح اللوحة ذات المعرّف pane-id.

%window-renamed window-id name

تمت إعادة تسمية النافذة ذات المعرّف window-id إلى name.

البيئة

عند بدء تشغيل tmux، يقوم بفحص متغيرات البيئة التالية:

EDITOR إذا كان الأمر المحدد في هذا المتغير يحتوي على السلسلة 'vi' وكان متغير VISUAL غير مضبوط،
فاستخدم ربط مفاتيح على طراز vi. يتم تجاوز ذلك بواسطة خياري mode-keys و status-keys.

HOME دليل تسجيل الدخول الخاص بالمستخدم. إذا لم يتم تحديده، يتم الرجوع إلى قاعدة بيانات passwd(5).

LC_CTYPE ترميز الأحرف الخاص بالإعدادات المحلية (locale)(1). يتم استخدامه لغرضين منفصلين. بالنسبة للإخراج إلى الجهاز الطرفي، يتم استخدام UTF-8 إذا تم إعطاء الخيار -u أو إذا كان LC_CTYPE يحتوي على "UTF-8"
أو "UTF8". وإلا، يتم كتابة أحرف 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.

الملفات

~/.tmux.conf
$XDG_CONFIG_HOME/tmux/tmux.conf
~/.config/tmux/tmux.conf
ملف تكوين tmux الافتراضي.
/etc/tmux.conf ملف التكوين على مستوى النظام.

أمثلة

لإنشاء جلسة tmux جديدة تشغل vi(1):

$ tmux new-session vi

معظم الأوامر لها شكل أقصر، يُعرف باسم الاسم المستعار. بالنسبة لـ new-session، هذا هو new:

$ tmux new vi

بدلاً من ذلك، يتم قبول أقصر شكل غير غامض من الأمر. إذا كان هناك العديد من الخيارات، فسيتم سردها:

$ tmux n
أمر غامض: n، يمكن أن يكون: new-session، new-window، next-window

ضمن جلسة نشطة، يمكن إنشاء نافذة جديدة بكتابة 'C-b c' (Ctrl متبوعة بمفتاح 'b' متبوعة بمفتاح 'c').

يمكن التنقل في نظام التشغيل Windows باستخدام: 'C-b 0' (لتحديد النافذة 0)، و'C-b 1' (لتحديد النافذة 1)، وهكذا؛ و'C-b n' لتحديد النافذة التالية؛ و'C-b p' لتحديد النافذة السابقة.

يمكن فصل الجلسة باستخدام 'C-b d' (أو عن طريق حدث خارجي مثل ssh(1) مثل انقطاع الاتصال) وإعادة ربطها باستخدام:

$ 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

تعيين خيارات أخرى، مثل الأمر الافتراضي، أو القفل بعد 30 دقيقة من الخمول:

    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'"

انظر أيضًا

pty(4)

المؤلفون

نيكولاس ماريوت <_>