پروژه Phoenix Term؛ چطور خط فرمان لینوکس و مک را به ابزار همه‌فن‌حریف تبدیل کنیم؟

بدون دیدگاه
پروژه Phoenix Term؛ چطور خط فرمان لینوکس و مک را به ابزار همه‌فن‌حریف تبدیل کنیم؟
  • بنر خوش‌آمدگویی اختصاصی: نام شما با فونت بزرگ گرافیکی متنی در بالای ترمینال خودنمایی می‌کند.
  • نوار وضعیت تب‌ها: کپسول‌های رنگ‌بندیی که وضعیت تب‌های فعال را به تصویر می‌کشند.
  • سایدبار پایش سیستم (phoenix-sysmon): نشان دادن زنده‌ی مصرف منابع (CPU، رم، دیسک، شبکه و باتری) در سمت راست صفحه، بدون اشغال فضای اصلی کار.
  • Starship Prompt: خط فرمان دیگر یک متن ساده و بی‌روح نیست؛ بلکه به‌صورت کپسول‌های رنگ‌بندیی، مسیر دایرکتوری، وضعیت گیت (Git Status) را به تصویر می‌کشد.
  • خطوط تفکیک‌کننده‌ی دستورات: یک خط افقی کامل بالای هر prompt کشیده می‌شود. اگر اجرای دستور قبلی بیش‌از ۱٫۵ ثانیه طول کشیده باشد، مدت‌زمان دقیق آن با رنگ‌بندی طلایی ثبت می‌شود تا نیازی به تایپ دستورات سنجش زمان نداشته باشید.

امکانات و ابزارهایی که با Phoenix Term به ترمینال می‌آیند

پروژه‌ی Phoenix Term صرفا یک پوسته‌ی ظاهری نیست؛ بلکه ابزارهای زیرساختی و مدرنی را شروع کردن کردن می‌کند که لایه‌های ترمینال را ارتقا می‌دهند؛ از جمله‌ی این ابزارهای زیرساختی می‌توان به موارد زیر اشاره کرد.

۱. لایه‌ی ترمینال و شل

پایه‌ی پکیج Phoenix Term روی Ghostty بنا شده؛ ترمینالی که با GPU رندر می‌کند و از نظر شتاب شروع کردن و رندر متن یکی‌از سریع‌ترین گزینه‌های موجود است. Phoenix Term ترمینال Ghostty را با فونت ComicShannsMono Nerd Font و والپیپر تاریک اختصاصی تنظیم کردن می‌کند.

شل پیش‌فرض به Zsh ارتقا می‌یابد و دو پلاگین مهم همراهش شروع کردن کردن می‌شود:

  • zsh-autosuggestions: با متن خاکستری کم‌رنگ‌بندی، ادامه دادن‌ی احتمالی دستور را پیشنهاد می‌دهد؛
  • fast-syntax-highlighting: دستورات نادرست را با رنگ‌بندی قرمز و دستورات معتبر را با سبز نشان می‌دهد؛ پیش از اینکه Enter بزنید.
بیشتر بخوانید:  سیستم جدید لینک‌ها در ایکس به سایت‌ها ترافیک غیرواقعی می‌فرستد

معماری پکیج به‌گونه‌ای است که متغیر TERM_PROGRAM را بررسی کردن می‌کند؛ اگر داخل VS Code Terminal یا یک SSH session باشید و Ghostty نداشته باشید، لایه‌ی tmux به‌طور خودکار کنار می‌رود تا alias-ها و ابزارهای شل بدون هیچ اختلالی کار کنند.

۲. کنترل پنجره‌ها با tmux

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

پکیج Phoenix Term به‌ازای هر پنجره‌ی Ghostty یک tmux session مستقل با شناسه‌ی اختصاصی می‌سازد تا سشن‌ها با هم تداخل نداشته باشند. چند پلاگین هم همراهش شروع کردن کردن می‌شود:

  • extrakto (Ctrl-A Tab): فرض کنید چند دستور قبل، یک path یا URL در لاگ‌آوتی ترمینال دیدید. با extrakto نیازی به اسکرول‌کردن و کپی دستی نیست؛ یک fuzzy search روی کل scrollback باز می‌شود و هر چیزی که انتخاب کنید مستقیم در خط فرمان تزریق می‌شود.
  • tmux-cowboy (Ctrl-A *): وقتی یک پروسه هنگ می‌کند و Ctrl-C جواب نمی‌دهد، این پلاگین یک SIGKILL مستقیم به پروسه‌ی فعال آن pane می‌فرستد.
  • tmux-resurrect و tmux-continuum: سشن‌ها، پنجره‌ها و pane-ها را ثبت می‌کنند تا پس از ری‌استارت سیستم، دقیقا به همان‌جایی برگردید که بودید.

۳. ادیتور Neovim با LazyVim

Neovim یک ورژن‌ی مدرن از Vim است که به‌صورت async کار می‌کند و از LSP (Language Server Protocol) کمک بومی می‌کند؛ بدین‌مفهوم که auto-complete، تعریف توابع و اشتباههای real-time مثل VS Code را داخل ترمینال در اختیارتان می‌گذارد.

برچسب‌ها: لینوکس

جدیدترین‌ مطالب

مطالب بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید