بهطور پیشفرض، درخواست zsh در Terminal بیمزه به نظر میرسد، اما macOS به شما امکان میدهد آن را مطابق میل خود سفارشی کنید.
خلاصه عناوین
- اصول اولیه اعلان zsh
- یک نمایه Z Shell برای ذخیره همه تنظیمات ایجاد کنید
- سفارشی کردن درخواست zsh در ترمینال
- تاریخ و زمان را به درخواست zsh اضافه کنید
- در اعلان zsh رنگ را به متن اضافه کنید
- افزودن جلوه های بصری در اعلان zsh
- آخرین جزئیات ورود به سیستم را از اعلان zsh حذف کنید
- سفارشی سازی zsh خود را بازنشانی کنید
نکات کلیدی
- macOS به شما امکان میدهد درخواست zsh را در ترمینال سفارشی کنید تا متمایز شود و مطابق با ترجیحات شما باشد.
- یک نمایه zshrc. ایجاد کنید تا تمام تغییرات و تنظیماتی که می خواهید در اعلان zsh ذخیره شود.
- دستور zsh را با افزودن مقادیر دلخواه خود برای متغیرهایی مانند %n (نام کاربری)، %m (نام مدل مک)، %W (تاریخ) و %T (زمان) تغییر دهید.
چه بخواهید دستور zsh از رنگ دیگری استفاده کند، جزئیات بیشتری را نمایش دهد یا ظاهری حداقلی داشته باشد تا بهترین فضا را داشته باشید، macOS به شما این امکان را میدهد. یاد بگیرید که چگونه درخواست zsh را در ترمینال سفارشی کنید تا بدون در نظر گرفتن پس زمینه شما برجسته شود.
اصول اولیه اعلان zsh
هنگامی که برنامه ترمینال را در مک خود باز می کنید، اطلاعات مفیدی مانند آخرین ورود به سیستم و خط فرمان نمایش داده می شود. این همان چیزی است که اعلان معمولاً به صورت پیش فرض به نظر می رسد:
Last login: Wed Feb 3 22:00:40 on console
alvin@MacBook-Air ~ %
اعلان zsh رشتهای از متن شامل نام کاربری و مدل رایانه شما، مانند MacBook Air، MacBook Pro، Mac mini و غیره را نشان میدهد. tilde (~) مکان اعلان را در فهرست اصلی نشان می دهد.
اگر از طریق ترمینال به دایرکتوری دیگری در سیستم فایل خود بروید، نام دایرکتوری فعلی به جای tilde نمایش داده می شود.
یک نمایه Z Shell برای ذخیره همه تنظیمات ایجاد کنید
به طور معمول، برای تغییر ظاهر پیش فرض، باید فایل های سیستم را سرهم کنید. دلیلش این است که بهروزرسانیهای macOS همه فایلهای سیستم را به حالت پیشفرض بازنشانی میکنند و شما همه تغییراتی را که ایجاد میکنید از دست خواهید داد. بنابراین می توانید یک فایل تنظیمات خاص (معروف به dotfile) برای پروفایل zsh خود ایجاد کنید تا تمام تغییرات و تنظیمات مورد نظر خود را در اعلان zsh ذخیره کنید.
این dotfile را به طور پیشفرض در macOS پیدا نخواهید کرد، بنابراین باید یکی بسازید. ایجاد یک نمایه .zshrc جدید برای ذخیره همه تنظیمات، مانند نحوه ظاهر و رفتار درخواست zsh توصیه می شود. در اینجا نحوه ایجاد نمایه zsh (dotfile) آمده است:
- برنامه ترمینال را باز کنید.
- دستور زیر را تایپ کنید و کلید Return را بزنید: ~/.zshrc را لمس کنید
touch ~/.zshrc
این
دست زدن به
دستور فقط در صورتی فایل نمایه .zshrc را ایجاد می کند که از قبل وجود نداشته باشد. اگر از قبل وجود داشته باشد، دستور کاری انجام نمی دهد.
این یک نمایه zshrc. در فهرست اصلی حساب کاربری شما ایجاد می کند. اگر مشاهده فایلهای سیستم مخفی را در مک خود فعال کرده باشید، میتوانید آن را در مسیر /User/
پس از آن، هر بار که ترمینال را راه اندازی می کنید، نمایه zsh برای پوسته های تعاملی بدون ورود به سیستم در دسترس خواهد بود. با این حال، فقط برای پوستههای ورود استفاده میشود که سایر فایلهای مخصوص ورود مانند zprofile. و zlogin. وجود نداشته باشند.
سفارشی کردن درخواست zsh در ترمینال
به طور معمول، درخواست پیشفرض zsh حاوی اطلاعاتی مانند نام کاربری، نام ماشین و مکان است که از فهرست اصلی کاربر شروع میشود. این جزئیات در فایل سیستمی پوسته zsh در مکان /etc/zshrc ذخیره می شود:
PS1="%n@%m %1~ %#"
در این رشته از متغیرها:
- %n نام کاربری حساب شما است.
- %m نام مدل مک شما است.
- %1~ به معنای مسیر دایرکتوری کاری فعلی است، جایی که ~ محل دایرکتوری $HOME را حذف می کند.
- %# به این معنی است که اگر پوسته با امتیازات روت (مدیر) اجرا شود، اعلان # را نشان میدهد و اگر اجرا نمیشود % را نشان میدهد.
برای ایجاد هر تغییری در اعلان پیشفرض zsh، باید مقادیر مربوطه را اضافه کنید تا فرمان متفاوت از حالت پیشفرض ظاهر شود.
در اینجا نحوه انجام این کار آمده است. ترمینال را باز کنید، دستور زیر را تایپ کرده و Return را بزنید:
nano ~/.zshrc
اگر فایل نمایه .zshrc قبلا وجود داشته باشد، این احتمال وجود دارد که خالی نباشد. با این حال، اگر هنگام اجرای فرمان لمسی بالا وجود نداشت، خالی خواهد بود. می توانید یک خط جدید با متن PROMPT=’…’ یا PS1=’…’ اضافه کنید و مقادیر مربوطه را در بیضی ها قرار دهید.
برای یک تغییر ساده در اعلان zsh، می توانید این مقادیر را در نمایه zshrc. تایپ کنید:
PROMPT='%n:~$'
Ctrl + O را فشار دهید تا تغییرات را در فایل تأیید کنید و سپس Ctrl + X را فشار دهید تا از ویرایشگر نانو خارج شوید.
یک پنجره ترمینال جدید را با فشار دادن Cmd + T برای تأیید و مشاهده تغییراتی که ایجاد کرده اید باز کنید. اعلان zsh جدید شما، نام کاربری مک، فهرست اصلی و نماد $ را در پایان نشان می دهد. اگر میخواهید متغیرهایی را که در ترمینال فاصله دارند، میتوانید فاصله بین %n، ~ و $ در متغیر PROMPT بالا اضافه کنید.
اگر میخواهید یک نام کاربری سفارشی داشته باشید، %n را با انتخاب دلخواه خود جایگزین کنید. در اینجا یک مثال است:
PROMPT='customusername~$'
اکنون، اگر یک پنجره ترمینال جدید باز کنید، موارد زیر را مشاهده خواهید کرد:
اگر میخواهید هر پارامتر دیگری را به صورت دستی تغییر دهید، میتوانید این کار را با جایگزین کردن متغیرهای پیشفرض با استفاده از قالب موجود در متغیر PS1 بالا انجام دهید. شما می توانید اطلاعاتی را از دستور zsh مطابق با اولویت خود اضافه یا حذف کنید.
اگر این خیلی پیچیده به نظر می رسد، از سایتی مانند Zsh Prompt Generator استفاده کنید تا به شما کمک کند پوسته Z خود را سفارشی کنید.
تاریخ و زمان را به درخواست zsh اضافه کنید
به غیر از نام کاربری خود، می توانید تاریخ یا زمان فعلی را اضافه کنید، بنابراین برای بررسی آن اطلاعات لازم نیست از پنجره فعال ترمینال دور نگاه کنید.
ترمینال را راه اندازی کنید و نمایه zshrc. را باز کنید:
nano ~/.zshrc
برای درج تاریخ در اعلان، میتوانید از %D برای نمایش تاریخ در قالب yy-mm-dd یا %W برای نمایش آن در قالب mm/dd/yy استفاده کنید. سپس اعلان جدید به صورت زیر ظاهر می شود:
PROMPT='%n:%W:~$'
ما از کولون استفاده کردیم (
:
) در
سریع
متغیر بالا برای اضافه کردن جداسازی بصری، اما می توانید از فضای سفید یا هر چیز دیگری استفاده کنید. به عنوان مثال، ما از علامت بزرگتر (>) برای جدا کردن زمان و دایرکتوری فعلی استفاده می کنیم.
اگر میخواهید زمان سیستم را در اعلان zsh درج کنید، %T را برای زمان فعلی در قالب 24 ساعته، %t را برای زمان نمایش در قالب 12 ساعته اضافه کنید، یا از %* برای نمایش زمان در 24 ساعت استفاده کنید. فرمت ساعت همراه با ثانیه.
PROMPT='%n@%T>~$'
تاریخ و زمان را در سمت راست درخواست zsh خود نمایش دهید
برای نمایش اطلاعات در سمت راست دستور zsh، باید متغیر RPROMPT را به فایل zshrc اضافه کنید. به عنوان مثال، برای اضافه کردن تاریخ و زمان، موارد زیر را وارد کنید:
RPROMPT=’%D @ %T’
اکنون درخواست شما به این صورت خواهد بود:
در اعلان zsh رنگ را به متن اضافه کنید
جدا از تغییر برنامه ترمینال با رنگها، میتوانید مقداری رنگ به متن نمایه zsh خود در مک اضافه کنید تا بصری خوبی داشته باشید. ترمینال را راه اندازی کنید و نمایه zshrc. را باز کنید:
nano ~/.zshrc
پوسته Z از رنگ و سایه های خاکستری برای متن درخواستی برای تکمیل پس زمینه پشتیبانی می کند. شما می توانید یک رنگ پیش زمینه (متن) را از این گزینه ها انتخاب کنید: سیاه، سفید، زرد، سبز، قرمز، آبی، فیروزه ای و سرخابی. در اینجا نحوه استفاده از آنها آمده است:
PROMPT='%F{cyan}%n%f:~$'
اگر میخواهید رنگ zsh خاصی را انتخاب کنید، میتوانید بین ۲۵۶ رنگ ۸ بیتی که ترمینال پشتیبانی میکند، انتخاب کنید. در اینجا نحوه استفاده از مقادیر عددی رنگ ها آمده است:
PROMPT='%F{51}%n%f:~$'
شما باید متغیرهای رنگی پیشفرض %F و %f را بین متن مربوطهای که میخواهید رنگ کنید، قرار دهید.
افزودن جلوه های بصری در اعلان zsh
اگر رنگ آمیزی متن درخواست کافی نیست، می توانید دستور zsh خود را برجسته کنید تا در میان دیوار متن برجسته شود. برای شروع، می توانید دستور zsh را پررنگ کنید:
PROMPT='%B%F{51}%n%f%b:~$'
افزودن %B در ابتدا و قرار دادن %b در پایان بین متن مربوطه باعث پررنگ شدن آن می شود.
به طور مشابه، میتوانید %S را در ابتدا و %s را در پایان برای برجسته کردن متن قرار دهید. هایلایت همان رنگی را خواهد داشت که شما انتخاب کرده اید تا بین متغیرهای %S و %s ظاهر شود.
PROMPT='%S%F{51}%n%f%s:~$'
همچنین می توانید زیر متن دستور zsh خط بکشید. برای اضافه کردن خط زیر به یک دستور، میتوانید متغیر %U را در ابتدا و %u را در انتهای متن مربوطه قرار دهید.
PROMPT='%U%F{51}%n%f%u:~$'
آخرین جزئیات ورود به سیستم را از اعلان zsh حذف کنید
پنهان کردن یا غیرفعال کردن خط بالایی که آخرین زمان ورود به سیستم را در برنامه ترمینال نشان می دهد، می تواند ظاهری تمیزتر به درخواست zsh شما بدهد. برای مخفی کردن این اطلاعات می توانید از دستور زیر استفاده کنید:
touch ~/.hushlogin
دفعه بعد که ترمینال را باز می کنید، چیزی بالاتر از اعلان zsh نخواهید دید.
سفارشی سازی zsh خود را بازنشانی کنید
اگر به شروعی تازه نیاز دارید، می توانید این کار را با تنظیم متغیر PROMPT یا PS1 روی مقدار پیش فرض انجام دهید:
PROMPT="%n@%m %1~ %#"
اگر اطلاعاتی را با استفاده از RPROMPT به سمت راست فرمان zsh اضافه کردید، آن را از .zshrc حذف کنید.
همچنین، میتوانید با خیال راحت متغیرهای PROMPT/PS1 و RPROMPT را در فایل zshrc. حذف کنید. نگران نباشید، زیرا تنظیمات موجود در فایل zshrc. فقط برای پروفایل کاربر فعلی اعمال می شود. اگر این دو را حذف کنید، تنظیمات پیش فرض ذخیره شده در فایل سیستمی پوسته Z در /etc/zshrc استفاده می شود.
اکنون که جزئیات کاملی در مورد نحوه سفارشی کردن اعلان zsh دارید، کمی آزمایش کنید و آن را متعلق به خودتان کنید. می توانید در آن پررنگ، زیر خط بکشید، کوتاه کنید و حتی اطلاعات بیشتری را در آن بگنجانید. و اگر از تغییرات راضی نیستید، همیشه می توانید به سرعت به حالت پیش فرض برگردید.