Amirhossein Abutalebi
Amirhossein Abutalebi
خواندن ۵ دقیقه·۲ سال پیش

اضافه کردن theme به oh my zsh

سلام دوستان امیدوارم حالتون و حال دلتون خوب باشه .

تو این نوشته قرار بریم و oh my zsh رو نصب کنیم و یک تم دلخواه رو برای oh my zsh انتخاب کنیم و بعدش هم خودمون یک تم شخصی سازی کنیم . خب بریم یا زوده؟


خب اول از همه سایت پایین سایت گیت هاب oh my zsh که نحوه نصب و افزودن تم و ... داخلش هست و میتونید توی این گیت هر چیزی مربوط به oh my zsh رو بدونید اما خب من هم اینجا نحوه نصب و اینا رو میگم.

https://github.com/ohmyzsh/ohmyzsh

اینم سایت خود oh my zsh که نحوه نصب و ... داخلش هست.

https://ohmyz.sh/

خب برای نصب oh my zsh اول از همه باید zsh رو نصب کنیم و بعد بریم و oh my zsh رو کانفیگ کنیم.

نصب zsh :

خب برای نصب zsh در هر توزیعی که هستید باید دستورات متناسب با اون رو وارد کنید.

خب تو دبیان و ابونتو و دبیان بیس ها با استفاده از این دستورات میشه نصب کنید:

sudo apt-get update sudo apt-get install zsh

در CentOS/REHL و فدورا و امثالشون از این دستورات استفاده کنید:

sudo dnf update sudo dnf install zsh

در OpenSUSE از این دستورات استفاده کنید :

sudo zypper ref sudo zypper install zsh

و در آخر برای علاقم آرچ از این دستور استفاده کنید:

sudo pacman -S zsh

حالا برای نصب به صورت بیسک که می تونیم از سه تا دستور زیر استفاده کنیم(دقیقا در گیت oh my zsh می تونید کد ها رو ببینید):

دستور اول دستور curl برای دانلود و بعد با استفاده از sh شروع به نصب oh my zsh می کنه .

sh -c &quot$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&quot

دستور دوم دستور wget برای دانلود هست .

sh -c &quot$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&quot

دستور سوم هم با استفاده از fetch شروع به دانلود می کنه.

sh -c &quot$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&quot

خب حالا که هم zsh و هم oh my zsh رو نصب کردیم میریم سراغ تغیر شل از بش به zsh :

chsh -s /bin/zsh

حالا هم با یبار بستن و باز کردن ترمینال می بینید که شل تون عوض شده .(شاید هم نیاز به restart باشه.)


عوض کردن تم zsh

برای عوض کردن تم zsh کافیه که در دایرکتوری home که هستید دنبال zshrc. بگردین (نقطه در لینوکس برای مخفی کردن استفاده میشه) و با ادیتوری که دوست دارید شروع به تغیر دادنش کنید.

مثلا من با ویم zshrc رو باز می کنم:

vim .zshrc

حالا دنبال خطی باشید که :

ZSH_THEME=&quotتمی که دوست دارید رو بنویسید”

قطعا که این خط کد رو پیدا نمی کنید چون تم پیش فرض robbyrussell هست و حالا تم مورد علاقه تون رو بنویسید.

خب توی مسیر /oh-my-zsh./~ که برید پوشه ای به اسم تم و پلاگین هست که می تونید از اون ها در zsh استفاده کنید.

حالا اگر تمی دانلود کردین یا پلاگینی دانلودکردین باید بزارید توی این پوشه ها و بعد در zshrc ازشون استفاده کنید مثلا ما میام و از تم powerlevel10k که محبوبه استفاده می کنیم چطوری ؟؟؟ این طوری:

اول از همه این گیت شون هست که درمورد نصب و ... داخلش نوشتن .

https://github.com/romkatv/powerlevel10k

خب بعد اینکه دانلود کردین کافیه از دستور زیر که تو خود سایت بالا هم هست استفاده کنید:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc

خب یه چیزی بگم دستور source .zshrc برای اعمال تغیرات استفاده میشه و چیز خاصی نیست همین.

حالا برای استفاده از powerlevel10k هم که ترمینال رو باز کنید خودتون متوجه میشید و می تونید از گیت شون هم کمک بگیرین.

برای نصب پلاگین هم که بگردید دنبال این خط plugins=(git) و بعد از git پلاگین هاتون رو بنویسید.


شخصی سازی تم

خب شاید برای شما هم سوال شده باشه که منم می تونم تم خودمو داشته باشم بله بله شما هم می تونید تم من رو داشته باشید فقط کافیه برید توی گیت من و t2colorful رو دانلود و در تم های oh my zsh قرار بدین .(?)

https://github.com/AmirhosseinAbutalebi/t2colorful-oh.my.zsh

خب حالا برای اینکه تم خودتون رو داشته باشید باید بشینید و کد های داخل تم رو بخونید و با توجه به سلیقه ی خودتون تم خودتون رو درست کنید .

فقط چیزی که نیاز بدونید اینکه PROMPT برای خطی که نشون میده مثلا اسم سیستم و نشون دادن ساعت و ... . RPROMPT همون PROMPT فقط برعکس شده و از آخر شروع به نشون دادن میکنه .این دو متغیر و بقیه متغیرها باید با حروف بزرگ نوشته شوند.

برای گیت هم باید از متغیرهای ثابت و با حروف بزرگ استفاده کنید که در پایین نشون میدیم:

ZSH_THEME_GIT_PROMPT_PREFIX=&quot%{$fg_no_bold[cyan]%}[? git %{$FG[208]%}&quot ZSH_THEME_GIT_PROMPT_SUFFIX=&quot%{$reset_color%} &quot ZSH_THEME_GIT_PROMPT_DIRTY=&quot%{$fg_no_bold[cyan]%}] ?&quot ZSH_THEME_GIT_PROMPT_CLEAN=&quot%{$fg_no_bold[cyan]%}]&quot

مثلا این تیکه ای از کد t2colorful هست حالا حرف حسابش چیه رو الان میگم.

برای مشخص کردن رنگ از این فرمت ها استفاده میکنیم:

{%$}% حالا fg برای foreground و bg برای background استفاده میشه و می تونیم رنگ رو به این صورت مشخص کنیم [color]fg و یا FG[color] حالا no_bold برای اینکه رنگ پر رنگ نباشه(فارسی خیلی خیلی کم ? ,منظورم تیره نباشه) استفاده میشه و bold برای اینکه پررنگ باشه استفاده میشه.

با استفاده از reset_color هم که معلومه دیگه من نمیگم.(رنگ رو برمیگردونه به حالت پیش فرض)

رنگ های زیر در zsh تعریف شده هستند و می تونید با فراخوندن اسم از رنگ استفاده کنید:

red, blue, green, cyan, yellow, magenta, black, white

در غیر این صورت شما می تونید با استفاده از کد رنگ که از 0 - 255 هست رنگ رو مشخص کنید یا از کد hex به این صورت F{#FFBF00}% استفاده کنید.

حالا اگه بخوایم به صورت رندم رنگ رو به یک متغیر بدیم اینطوری عمل می کنیم:

% {$FG[$((RANDOM%255+1))]%}

حالا اینکه چرا دوتا پرانتز باز کردیم و اینا بر می گرده به زبان shell و باید با کار کردن این زبان به راحتی کانفیگ و اسکریپت خودتون رو بنویسید.

دیگه چیز خاصی نیست که بگم فقط یکمی مربوط میشه به shell که دیگه خودتون استادید توی این مبحث.

امیدوارم که خوشتون اومده باشه و ممنون که تا اینجا موندین و خوندین خدافظی ? .



لینوکسzsh
شاید از این پست‌ها خوشتان بیاید