خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

چرا ترمینال WezTerm را جایگزین ویندوز ترمینال کردم؟

محیط کدنویسی WezTerm با قابلیت اسپلیت‌اسکرین
ترمینال WezTerm با پشتیبانی از سیستم‌عامل‌های مختلف، پیکربندی با زبان Lua و مالتی‌پلکسر داخلی، جایگزینی قدرتمند برای ویندوز ترمینال است.

ویندوز ترمینال (Windows Terminal) یک پیشرفت عالی نسبت به گزینه‌های قبلی محسوب می‌شود، به‌ویژه زمانی که با قابلیت‌های پنهان آن آشنا شوید.

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

یک ترمینال چندپلتفرمی (Cross-Platform)

تجربه یکسان در ویندوز، لینوکس و مک‌اواس

محیط کدنویسی WezTerm با قابلیت اسپلیت‌اسکرین

دلیل اصلی من برای مهاجرت، پشتیبانی از پلتفرم‌های مختلف بود و WezTerm در این زمینه بهترین انتخاب است. این ترمینال روی ویندوز ۱۰ و جدیدتر، لینوکس، مک‌اواس، FreeBSD و NetBSD اجرا می‌شود. من از یک فایل پیکربندی یکسان در تمام سیستم‌هایم استفاده می‌کنم و ترمینال در همه آن‌ها رفتار کاملاً یکسانی دارد.

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

پیکربندی کامل با Lua

خداحافظی با فایل‌های JSON ساده

فایل کانفیگ WezTerm با زبان Lua

ویندوز ترمینال از یک فایل 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

نمایش تب‌ها و پنل‌های WezTerm در قالب مالتی‌پلکسر

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

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

رندرینگ فونت‌های حرفه‌ای

پشتیبانی از لیگچرها (Ligatures) و ایموجی‌ها

نمایش فونت‌های برنامه‌نویسی و لیگچرها در WezTerm

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

کلام آخر

ویندوز ترمینال همچنان یک انتخاب فوق‌العاده برای اکثر کاربران است. اما اگر توسعه‌دهنده‌ای هستید که بین پلتفرم‌های مختلف جابه‌جا می‌شوید، به اسکریپت‌نویسی پیشرفته نیاز دارید و سرعت رندرینگ برایتان مهم است، نصب و استفاده از WezTerm می‌تواند یکی از بهترین تصمیمات شما باشد.

منبع: این مطلب یک بومی‌سازی و بازنویسی تحریریه‌ای بر اساس مقاله‌ای از MakeUseOf نوشته Tashreef Shareef است: مشاهده مقاله اصلی.