kitty(1) kitty kitty(1)

kitty - شبیه‌ساز ترمینال سریع و با امکانات فراوان

kitty [options] [program-to-run ...]

اجرای شبیه‌ساز ترمینال kitty. شما همچنین می‌توانید برنامه‌ای را که قرار است درون kitty اجرا شود، به صورت آرگومان‌های معمولی پس از گزینه‌ها مشخص کنید. برای مثال: kitty --hold sh -c "echo hello, world"

برای مستندات جامع kitty، لطفاً ببینید: https://sw.kovidgoyal.net/kitty

در Wayland شناسه برنامه (application id) را تنظیم می‌کند. در X11 بخش class از مشخصه پنجره WM_CLASS را تنظیم می‌کند. پیش‌فرض: kitty
در Wayland، در صورت تعیین، برچسب پنجره را تنظیم می‌کند. در X11، بخش name از مشخصه WM_CLASS را تنظیم می‌کند؛ هنگامی که تعیین نشده باشد، پیش‌فرض استفاده از مقدار kitty --class است.
عنوان پنجره سیستم‌عامل را تنظیم می‌کند. این کار هر عنوانی را که توسط برنامه در حال اجرا درون kitty تنظیم شده باشد لغو کرده و عنوان پنجره سیستم‌عامل را به صورت دائمی تثبیت می‌کند. بنابراین تنها زمانی از این گزینه استفاده کنید که برنامه‌ای را اجرا می‌کنید که عنوانی تنظیم نمی‌کند.
مسیری را به فایل(های) پیکربندی برای استفاده مشخص می‌کند. تمام فایل‌های پیکربندی با kitty.conf توکار ادغام شده و مقادیر توکار را بازنویسی می‌کنند. این گزینه می‌تواند چندین بار مشخص شود تا چندین فایل پیکربندی به ترتیب خوانده شده و ادغام شوند. از مقدار ویژه NONE برای بارگذاری نکردن هیچ فایل پیکربندی استفاده کنید.

اگر این گزینه مشخص نشود، فایل‌های پیکربندی به این ترتیب جستجو می‌شوند: $XDG_CONFIG_HOME/kitty/kitty.conf، ~/.config/kitty/kitty.conf، $XDG_CONFIG_DIRS/kitty/kitty.conf. اولین موردی که وجود داشته باشد به عنوان فایل پیکربندی استفاده می‌شود.

اگر متغیر محیطی KITTY_CONFIG_DIRECTORY <#envvar-KITTY_CONFIG_DIRECTORY> مشخص شده باشد، همواره از آن دایرکتوری استفاده شده و جستجوی فوق انجام نمی‌شود.

اگر /etc/xdg/kitty/kitty.conf وجود داشته باشد، قبل از هر فایل پیکربندی کاربر (یعنی با اولویت پایین‌تر) ادغام می‌شود. این فایل می‌تواند برای مشخص کردن مقادیر پیش‌فرض سرتاسری سیستم برای همه کاربران استفاده شود. می‌توانید از - یا /dev/stdin برای خواندن پیکربندی از STDIN استفاده کنید.

بازنویسی گزینه‌های پیکربندی فردی، می‌تواند چندین بار مشخص شود. ساختار: name=value. برای مثال: kitty -o font_size=20
تغییر به دایرکتوری مشخص‌شده هنگام راه‌اندازی. پیش‌فرض: .
جدا شدن از ترمینال کنترل‌کننده، در صورت وجود. در macOS به جای آن از open -a kitty.app -n استفاده کنید.
مسیر به فایل گزارش برای ذخیره STDOUT/STDERR هنگام استفاده از --detach
مسیر به فایلی شامل نشست آغازین (تب‌ها، پنجره‌ها، چیدمان، برنامه‌ها). از - برای خواندن از STDIN استفاده کنید. برای جزئیات و یک مثال نشست‌ها <#sessions> را ببینید. متغیرهای محیطی در نام فایل بسط داده می‌شوند و مسیرهای نسبی نسبت به دایرکتوری پیکربندی kitty حل می‌شوند. مقدار ویژه none به این معنی است که هیچ نشستی استفاده نخواهد شد، حتی اگر گزینه startup_session <#opt-kitty.startup_session> در kitty.conf مشخص شده باشد. توجه داشته باشید که استفاده از این گزینه باعث می‌شود آرگومان‌های خط فرمان به kitty که برنامه‌ای را برای اجرا مشخص می‌کنند، نادیده گرفته شوند.
باز ماندن، در اعلان پوسته، پس از خروج فرآیند فرزند. توجه داشته باشید که این گزینه فقط بر پنجره نخست تأثیر می‌گذارد. می‌توانید با استفاده از میانبر بستن پنجره یا اجرای دستور exit خارج شوید.
در صورت تعیین، تنها یک نمونه واحد از kitty اجرا خواهد شد. فراخوانی‌های جدید در عوض یک پنجره سطح‌بالای جدید در نمونه موجود kitty ایجاد خواهند کرد. این کار به kitty اجازه می‌دهد تا یک حافظه نهان تصویرک (sprite cache) مشترک روی GPU داشته باشد و همچنین زمان راه‌اندازی را کاهش می‌دهد. همچنین می‌توانید با استفاده از گزینه kitty --instance-group گروه‌های مجزایی از نمونه‌های kitty داشته باشید. می‌توانید از پرچم kitty --start-as=hidden برای راه‌اندازی یک نمونه پس‌زمینه kitty که به عنوان سرور عمل می‌کند استفاده کنید.
در ترکیب با گزینه kitty --single-instance استفاده می‌شود. تمامی فراخوانی‌های kitty با همان kitty --instance-group منجر به ایجاد پنجره‌های جدید در اولین نمونه kitty درون آن گروه می‌شوند.
به طور معمول هنگام استفاده از kitty --single-instance، برنامه kitty یک پنجره جدید در نمونه موجود باز کرده و بلافاصله خارج می‌شود. با این گزینه، تا زمانی که پنجره تازه بازشده بسته نشود خارج نخواهد شد. توجه داشته باشید که اگر نمونه قبلی یافت نشود، kitty صرف‌نظر از این گزینه در هر صورت منتظر می‌ماند.
برای پیام‌های کنترلی به نشانی سوکت مشخص‌شده گوش می‌دهد. برای مثال، kitty --listen-on=unix:/tmp/mykitty یا kitty --listen-on=tcp:localhost:12345. در سیستم‌های لینوکس، همچنین می‌توانید از سوکت‌های انتزاعی UNIX که با فایلی مرتبط نیستند، به این صورت استفاده کنید: kitty --listen-on=unix:@mykitty. متغیرهای محیطی بسط داده می‌شوند و مسیرهای نسبی نسبت به دایرکتوری موقت حل می‌شوند. برای کنترل kitty، می‌توانید با kitten @ و با استفاده از گزینه kitten @ --to <#cmdoption-kitten-to> برای مشخص کردن این نشانی، به آن دستور ارسال کنید. توجه داشته باشید که اگر kitten @ را درون یک پنجره kitty اجرا کنید، نیازی به مشخص کردن گزینه kitten @ --to <#cmdoption-kitten-to> نیست زیرا به طور خودکار از محیط خوانده می‌شود. توجه داشته باشید که این گزینه نادیده گرفته خواهد شد مگر اینکه allow_remote_control <#opt-kitty.allow_remote_control> بر روی یکی از این مقادیر تنظیم شده باشد: yes، socket یا socket-only. این مورد را می‌توان در kitty.conf نیز مشخص کرد. برای راه‌اندازی در حالت بدون پنجره (headless)، بدون یک پنجره واقعی، از kitty --start-as=hidden استفاده کنید.
نحوه ایجاد پنجره اولیه سیستم‌عامل kitty را کنترل می‌کند. توجه داشته باشید اگر از گزینه kitty --session برای ایجاد چندین پنجره سیستم‌عامل استفاده کنید، این تنظیم برای تمامی پنجره‌های سیستم‌عامل اعمال می‌شود. هرگونه وضعیت پنجره سیستم‌عامل که در فایل نشست مشخص شده باشد بازنویسی خواهد شد. پیش‌فرض: normal انتخاب‌ها: fullscreen، hidden، maximized، minimized، normal
موقعیت، برای مثال 10x20، بر روی صفحه نمایش که اولین پنجره سیستم‌عامل kitty ایجادشده توسط این فراخوانی در آن قرار می‌گیرد. این مورد بسته به سیاست‌های محیط رومیزی/مدیر پنجره ممکن است کار کند یا نکند. این ویژگی هرگز در Wayland کار نمی‌کند. همچنین remember_window_position <#opt-kitty.remember_window_position> را ببینید تا kitty به طور خودکار سعی کند موقعیت قبلی پنجره را بازیابی کند.
تسخیر صفحه‌کلید. به این معنی است که کلیدهای میانبر سراسری تعریف‌شده در سیستم‌عامل در عوض به kitty ارسال خواهند شد. در صورتی که بخواهید پنجره مودال سیستم‌عامل ایجاد کنید کاربردی است. میزان کارایی این مورد به سیستم‌عامل/مدیر پنجره/محیط رومیزی بستگی دارد. در Wayland تنها در صورتی کار می‌کند که کامپوزیتور پروتکل inhibit-keyboard-shortcuts https://wayland.app/protocols/keyboard-shortcuts-inhibit-unstable-v1 را پیاده‌سازی کرده باشد. در macOS شرکت Apple اجازه تسخیر صفحه‌کلید بدون مجوزهای ویژه را به برنامه‌ها نمی‌دهد، بنابراین کار نمی‌کند.
نسخه فعلی kitty.
ارسال دستورهای دریافت شده از فرایند فرزند به STDOUT.
بازپخش دستورهایی که پیش‌تر ذخیره (dump) شده‌اند. مسیر فایل دامپی را که قبلاً توسط kitty --dump-commands ایجاد شده مشخص کنید. می‌توانید یک پنجره جدید kitty برای بازپخش دستورها باز کنید با:
kitty sh -c "kitty --replay-commands /path/to/dump/file; read"
مسیر فایلی برای ذخیره بایت‌های خام دریافت شده از فرایند فرزند.
اشکال‌زدایی دستورهای رندرینگ. این گزینه باعث می‌شود همه فراخوانی‌های OpenGL به جای نادیده گرفتن خطاها، آنها را بررسی کنند. همچنین اطلاعات اشکال‌زدایی متفرقه‌ای را چاپ می‌کند. هنگام عیب‌یابی مشکلات رندرینگ مفید است.
چاپ رویدادهای کلید و موشواره به محض دریافت آن‌ها.
چاپ اطلاعات مربوط به انتخاب فونت‌های جایگزین (fallback) برای نویسه‌هایی که در فونت اصلی موجود نیستند.
این گزینه به نفع گزینه watcher <#opt-kitty.watcher> در kitty.conf منسوخ شده است و نباید استفاده شود.

kitty قادر به اجرای چندین برنامه سازماندهی‌شده در تب‌ها و پنجره‌ها است. بالاترین سطح سازماندهی، پنجره سیستم‌عامل (OS window) <#term-os_window> است. هر پنجره سیستم‌عامل شامل یک یا چند تب <#term-tab> است. هر تب از یک یا چند پنجره kitty <#term-window> تشکیل می‌شود. پنجره‌های kitty می‌توانند در چندین چیدمان (layout) مختلف <#term-layout> مرتب شوند، مشابه نحوه سازماندهی پنجره‌ها در یک مدیر پنجره کاشی‌کار (tiling window manager). کنترل‌های صفحه‌کلید (که همگی قابل سفارشی‌سازی هستند <#conf-kitty-shortcuts>) برای تب‌ها و پنجره‌ها عبارتند از:

عملیات میانبر
یک سطر به بالا ctrl+shift+up <#shortcut-kitty.Scroll-line-up> (همچنین ⌥+⌘+⇞ و ⌘+↑ در macOS)
یک سطر به پایین ctrl+shift+down <#shortcut-kitty.Scroll-line-down> (همچنین ⌥+⌘+⇟ و ⌘+↓ در macOS)
یک صفحه به بالا ctrl+shift+page_up <#shortcut-kitty.Scroll-page-up> (همچنین ⌘+⇞ در macOS)
یک صفحه به پایین ctrl+shift+page_down <#shortcut-kitty.Scroll-page-down> (همچنین ⌘+⇟ در macOS)
ابتدا (بالا) ctrl+shift+home <#shortcut-kitty.Scroll-to-top> (همچنین ⌘+↖ در macOS)
انتها (پایین) ctrl+shift+end <#shortcut-kitty.Scroll-to-bottom> (همچنین ⌘+↘ در macOS)
اعلان قبلی پوسته ctrl+shift+z <#shortcut-kitty.Scroll-to-previous-shell-prompt> (مشاهده یکپارچه‌سازی پوسته <#shell-integration>)
اعلان بعدی پوسته ctrl+shift+x <#shortcut-kitty.Scroll-to-next-shell-prompt> (مشاهده یکپارچه‌سازی پوسته <#shell-integration>)
مرور بافر پیمایش در less ctrl+shift+h <#shortcut-kitty.Browse-scrollback-buffer-in-pager>
مرور خروجی آخرین دستور ctrl+shift+g <#shortcut-kitty.Browse-output-of-the-last-shell-command-in-pager> (مشاهده یکپارچه‌سازی پوسته <#shell-integration>)
جستجو در بافر پیمایش در less ctrl+shift+/ <#shortcut-kitty.Search-the-scrollback-within-a-pager> (همچنین ⌘+F در macOS)

عملیات‌های پیمایش فقط زمانی اعمال می‌شوند که ترمینال در صفحه اصلی (main screen) باشد. هنگامی که صفحه جایگزین (alternate screen) فعال است (برای مثال هنگام استفاده از یک برنامه تمام‌صفحه مانند یک ویرایشگر متن)، رویدادهای کلید در عوض به برنامه در حال اجرا در ترمینال فرستاده می‌شوند..SS "زبانه‌ها (Tabs)"

عملیات میانبر
زبانه جدید ctrl+shift+t <#shortcut-kitty.New-tab> (همچنین ⌘+t در macOS)
بستن زبانه ctrl+shift+q <#shortcut-kitty.Close-tab> (همچنین ⌘+w در macOS)
زبانه بعدی ctrl+shift+right <#shortcut-kitty.Next-tab> (همچنین ⌃+⇥ و ⇧+⌘+] در macOS)
زبانه قبلی ctrl+shift+left <#shortcut-kitty.Previous-tab> (همچنین ⇧+⌃+⇥ و ⇧+⌘+[ در macOS)
طرح‌بندی بعدی ctrl+shift+l <#shortcut-kitty.Next-layout>
انتقال زبانه به جلو ctrl+shift+. <#shortcut-kitty.Move-tab-forward>
انتقال زبانه به عقب ctrl+shift+, <#shortcut-kitty.Move-tab-backward>
تنظیم عنوان زبانه ctrl+shift+alt+t <#shortcut-kitty.Set-tab-title> (همچنین ⇧+⌘+i در macOS)

عملیات میانبر
پنجره جدید ctrl+shift+enter <#shortcut-kitty.New-window> (همچنین ⌘+↩ در macOS)
پنجره سیستم‌عامل جدید ctrl+shift+n <#shortcut-kitty.New-OS-window> (همچنین ⌘+n در macOS)
بستن پنجره ctrl+shift+w <#shortcut-kitty.Close-window> (همچنین ⇧+⌘+d در macOS)
تغییر اندازه پنجره ctrl+shift+r <#shortcut-kitty.Start-resizing-window> (همچنین ⌘+r در macOS)
پنجره بعدی ctrl+shift+] <#shortcut-kitty.Next-window>
پنجره قبلی ctrl+shift+[ <#shortcut-kitty.Previous-window>
انتقال پنجره به جلو ctrl+shift+f <#shortcut-kitty.Move-window-forward>
انتقال پنجره به عقب ctrl+shift+b <#shortcut-kitty.Move-window-backward>
انتقال پنجره به بالا ctrl+shift+` <#shortcut-kitty.Move-window-to-top>
فوکوس دیداری روی پنجره ctrl+shift+f7 <#shortcut-kitty.Visually-select-and-focus-window>
جابه‌جایی دیداری پنجره ctrl+shift+f8 <#shortcut-kitty.Visually-swap-window-with-another>
فوکوس روی پنجره مشخص ctrl+shift+1 <#shortcut-kitty.First-window>، ctrl+shift+2 <#shortcut-kitty.Second-window> ... ctrl+shift+0 <#shortcut-kitty.Tenth-window> (همچنین ⌘+1، ⌘+2 ... ⌘+9 در macOS) (در جهت عقربه‌های ساعت از بالا-چپ)

علاوه بر این، می‌توانید میانبرهایی را در kitty.conf برای فوکوس روی پنجره‌های مجاور و جابه‌جایی پنجره‌ها (مشابه جابه‌جایی پنجره در vim) تعریف کنید:

map ctrl+left neighboring_window left
map shift+left move_window right
map ctrl+down neighboring_window down
map shift+down move_window up
...

همچنین می‌توانید میانبری برای جابه‌جایی به پنجره فعال قبلی تعریف کنید:

map ctrl+p nth_window -1

دستور nth_window <#action-nth_window> برای اعداد مثبت (با شروع از صفر) روی پنجره n-اُم و برای اعداد منفی روی پنجره‌های فعال قبلی فوکوس می‌کند.

برای جابه‌جایی به n-اُمین پنجره سیستم‌عامل، می‌توانید nth_os_window <#action-nth_os_window> را تعریف کنید. تنها اعداد مثبت، با شروع از یک، پذیرفته می‌شوند.

می‌توانید میانبرهایی برای جدا کردن پنجره فعلی و انتقال آن به زبانه‌ای دیگر یا پنجره‌ای دیگر از سیستم‌عامل تعریف کنید:

# انتقال پنجره به یک پنجره جدید سیستم‌عامل
map ctrl+f2 detach_window
# انتقال پنجره به یک زبانه جدید
map ctrl+f3 detach_window new-tab
# انتقال پنجره به زبانه فعال قبلی
map ctrl+f3 detach_window tab-prev
# انتقال پنجره به زبانه سمت چپ زبانه فعال
map ctrl+f3 detach_window tab-left
# انتقال پنجره به یک زبانه جدید ایجادشده در سمت چپ زبانه فعال
map ctrl+f3 detach_window new-tab-left
# پرسش در مورد این‌که پنجره به کدام زبانه منتقل شود
map ctrl+f4 detach_window ask
به همین ترتیب، می‌توانید با دستور زیر زبانهٔ جاری را جدا کنید:
# زبانه را به یک پنجره جدید سیستم‌عامل منتقل می‌کند
map ctrl+f2 detach_tab
# می‌پرسد زبانه به کدام پنجره سیستم‌عامل منتقل شود
map ctrl+f4 detach_tab ask

توجه داشته باشید که زبانه‌ها را می‌توان در همان نمونهٔ kitty با استفاده از کشیدن و رها کردن (drag and drop) دوباره مرتب کرد، جدا نمود و به پنجرهٔ دیگری از سیستم‌عامل منتقل کرد.

در نهایت، می‌توانید یک میان‌بر برای بستن تمام پنجره‌های موجود در یک زبانه به جز پنجرهٔ فعال فعلی تعریف کنید:

map f9 close_other_windows_in_tab

فهرست کامل عملیاتی که می‌توان به فشردن کلیدها نگاشت کرد در اینجا <> در دسترس است. برای یادگیری نحوهٔ انجام نگاشت‌های پیشرفته‌تر صفحه‌کلید، مانند نگاشت‌های حالتی (modal)، نگاشت‌ها به ازای هر برنامه و غیره، بخش Making your keyboard dance <> را ببینید.

عملیات میان‌بر
نمایش این راهنما ctrl+shift+f1 <#shortcut-kitty.Show-documentation>
رونوشت به کلیپ‌بورد ctrl+shift+c <#shortcut-kitty.Copy-to-clipboard> (همچنین ⌘+c در macOS)
چسباندن از کلیپ‌بورد ctrl+shift+v <#shortcut-kitty.Paste-from-clipboard> (همچنین ⌘+v در macOS)
چسباندن از بخش انتخاب‌شده ctrl+shift+s <#shortcut-kitty.Paste-from-selection>
ارسال متن انتخاب‌شده به برنامه ctrl+shift+o <#shortcut-kitty.Pass-selection-to-program>
افزایش اندازه قلم ctrl+shift+equal <#shortcut-kitty.Increase-font-size> (همچنین ⌘++ در macOS)
کاهش اندازه قلم ctrl+shift+minus <#shortcut-kitty.Decrease-font-size> (همچنین ⌘+- در macOS)
بازنشانی اندازه قلم ctrl+shift+backspace <#shortcut-kitty.Reset-font-size> (همچنین ⌘+0 در macOS)
تغییر حالت تمام‌صفحه ctrl+shift+f11 <#shortcut-kitty.Toggle-fullscreen> (همچنین ⌃+⌘+f در macOS)
تغییر حالت بیشینه‌سازی ctrl+shift+f10 <#shortcut-kitty.Toggle-maximized>
ورود نویسهٔ یونیکد ctrl+shift+u <#shortcut-kitty.Unicode-input> (همچنین ⌃+⌘+space در macOS)
باز کردن نشانی اینترنتی در مرورگر وب ctrl+shift+e <#shortcut-kitty.Open-URL>
بازنشانی ترمینال ctrl+shift+delete <#shortcut-kitty.Reset-the-terminal> (همچنین ⌥+⌘+r در macOS)
ویرایش kitty.conf ctrl+shift+f2 <#shortcut-kitty.Edit-config-file> (همچنین ⌘+, در macOS)
بارگذاری مجدد kitty.conf ctrl+shift+f5 <#shortcut-kitty.Reload-kitty.conf> (همچنین ⌃+⌘+, در macOS)
اشکال‌زدایی kitty.conf ctrl+shift+f6 <#shortcut-kitty.Debug-kitty-configuration> (همچنین ⌥+⌘+, در macOS)
باز کردن یک شل kitty ctrl+shift+escape <#shortcut-kitty.Open-the-kitty-command-shell>
افزایش کدری پس‌زمینه ctrl+shift+a>m <#shortcut-kitty.Increase-background-opacity>
کاهش کدری پس‌زمینه ctrl+shift+a>l <#shortcut-kitty.Decrease-background-opacity>
کدری کامل پس‌زمینه ctrl+shift+a>1 <#shortcut-kitty.Make-background-fully-opaque>
بازنشانی کدری پس‌زمینه ctrl+shift+a>d <#shortcut-kitty.Reset-background-opacity>
"همچنین ببینید (SEE ALSO)"
به kitty.conf(5) مراجعه کنید.
"نویسندگان (AUTHORS)"
Kovid Goyal
"کپی‌رایت و تکثیر (COPYRIGHT)"
2026, Kovid Goyal
July 30, 2026 0.48.2