ویندوز ترمینال (Windows Terminal) یک پیشرفت عالی نسبت به گزینههای قبلی محسوب میشود، بهویژه زمانی که با قابلیتهای پنهان آن آشنا شوید.
با این حال، به دلیل اینکه اخیراً روی پلتفرمهای مختلفی برای توسعه نرمافزار کار میکنم، به ترمینالی نیاز داشتم که در تمام اکوسیستمها عملکرد یکسانی داشته باشد. همچنین به پیکربندی مبتنی بر Lua و یک مالتیپلکسر (Multiplexer) داخلی نیاز داشتم. پس از بررسی گزینههای موجود، WezTerm دقیقاً همان چیزی بود که میخواستم و به نظر نمیرسد به این زودیها به ویندوز ترمینال برگردم.
یک ترمینال چندپلتفرمی (Cross-Platform)
تجربه یکسان در ویندوز، لینوکس و مکاواس

دلیل اصلی من برای مهاجرت، پشتیبانی از پلتفرمهای مختلف بود و WezTerm در این زمینه بهترین انتخاب است. این ترمینال روی ویندوز ۱۰ و جدیدتر، لینوکس، مکاواس، FreeBSD و NetBSD اجرا میشود. من از یک فایل پیکربندی یکسان در تمام سیستمهایم استفاده میکنم و ترمینال در همه آنها رفتار کاملاً یکسانی دارد.
نرمافزار WezTerm با زبان Rust نوشته شده است. اگرچه Rust بهخودیخود باعث افزایش سرعت ترمینال نمیشود، اما امنیت حافظه (Memory Safety) و یک فایل اجرایی مستقل بدون نیاز به نصب افزونههای اضافی را به همراه دارد. سرعت بالای این ترمینال به دلیل رندرینگ مبتنی بر شتابدهنده گرافیکی (GPU) است که پردازش متن را بهجای پردازنده اصلی (CPU) به کارت گرافیک میسپارد.
پیکربندی کامل با Lua
خداحافظی با فایلهای JSON ساده

ویندوز ترمینال از یک فایل JSON برای تنظیمات استفاده میکند که در آن میتوانید فونتها، رنگها و میانبرها را تغییر دهید. اما WezTerm از زبان برنامهنویسی Lua برای پیکربندی استفاده میکند. این ویژگی به شما اجازه میدهد بهجای یک لیست ساده از تنظیمات، از منطق برنامهنویسی (مانند حلقهها و شرطها) استفاده کنید.
برای مثال، اگر بخواهید کلیدهای میانبر متفاوتی برای مکاواس و ویندوز تنظیم کنید، میتوانید در فایل wezterm.lua بنویسید:
if wezterm.target_triple == "x86_64-pc-windows-msvc" then
-- تنظیمات مخصوص ویندوز
elseif wezterm.target_triple == "x86_64-apple-darwin" then
-- تنظیمات مخصوص مک
end
مالتیپلکسر داخلی (Multiplexer)
بدون نیاز به Tmux

اگر در لینوکس با tmux کار کرده باشید، میدانید که امکان اجرای چندین پنل و تب را فراهم میکند و حتی با بستن ترمینال، نشستها (Sessions) باقی میمانند. خبر خوب این است که WezTerm یک مالتیپلکسر داخلی دارد.
شما میتوانید با کلیدهای میانبر، صفحه را به پنلهای مختلف تقسیم کنید یا تبهای جدید باز کنید. اگر ترمینال بسته شود، با دستور wezterm connect unix میتوانید به نشست قبلی خود برگردید. این قابلیت، WezTerm را به یک ابزار همهجانبه تبدیل میکند که نیازی به برنامههای جانبی ندارد.
رندرینگ فونتهای حرفهای
پشتیبانی از لیگچرها (Ligatures) و ایموجیها

اگر به فونتهای برنامهنویسی دارای لیگچر (مثل Fira Code یا JetBrains Mono) علاقه دارید، WezTerm از آنها بهطور کامل پشتیبانی میکند. موتور رندرینگ آن بهگونهای بهینهسازی شده که کاراکترها و ایموجیها را بدون افت کیفیت نمایش میدهد.
کلام آخر
ویندوز ترمینال همچنان یک انتخاب فوقالعاده برای اکثر کاربران است. اما اگر توسعهدهندهای هستید که بین پلتفرمهای مختلف جابهجا میشوید، به اسکریپتنویسی پیشرفته نیاز دارید و سرعت رندرینگ برایتان مهم است، نصب و استفاده از WezTerm میتواند یکی از بهترین تصمیمات شما باشد.
منبع: این مطلب یک بومیسازی و بازنویسی تحریریهای بر اساس مقالهای از MakeUseOf نوشته Tashreef Shareef است: مشاهده مقاله اصلی.