سلام دوستان امیدوارم حالتون و حال دلتون خوب باشه .
تو این نوشته قرار بریم و oh my zsh رو نصب کنیم و یک تم دلخواه رو برای oh my zsh انتخاب کنیم و بعدش هم خودمون یک تم شخصی سازی کنیم . خب بریم یا زوده؟
خب اول از همه سایت پایین سایت گیت هاب oh my zsh که نحوه نصب و افزودن تم و ... داخلش هست و میتونید توی این گیت هر چیزی مربوط به oh my zsh رو بدونید اما خب من هم اینجا نحوه نصب و اینا رو میگم.
اینم سایت خود oh my zsh که نحوه نصب و ... داخلش هست.
خب برای نصب oh my zsh اول از همه باید zsh رو نصب کنیم و بعد بریم و oh my 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 "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
دستور دوم دستور wget برای دانلود هست .
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
دستور سوم هم با استفاده از fetch شروع به دانلود می کنه.
sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
خب حالا که هم zsh و هم oh my zsh رو نصب کردیم میریم سراغ تغیر شل از بش به zsh :
chsh -s /bin/zsh
حالا هم با یبار بستن و باز کردن ترمینال می بینید که شل تون عوض شده .(شاید هم نیاز به restart باشه.)
برای عوض کردن تم zsh کافیه که در دایرکتوری home که هستید دنبال zshrc. بگردین (نقطه در لینوکس برای مخفی کردن استفاده میشه) و با ادیتوری که دوست دارید شروع به تغیر دادنش کنید.
مثلا من با ویم zshrc رو باز می کنم:
vim .zshrc
حالا دنبال خطی باشید که :
ZSH_THEME="تمی که دوست دارید رو بنویسید”
قطعا که این خط کد رو پیدا نمی کنید چون تم پیش فرض robbyrussell هست و حالا تم مورد علاقه تون رو بنویسید.
خب توی مسیر /oh-my-zsh./~ که برید پوشه ای به اسم تم و پلاگین هست که می تونید از اون ها در zsh استفاده کنید.
حالا اگر تمی دانلود کردین یا پلاگینی دانلودکردین باید بزارید توی این پوشه ها و بعد در zshrc ازشون استفاده کنید مثلا ما میام و از تم 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 قرار بدین .(?)
خب حالا برای اینکه تم خودتون رو داشته باشید باید بشینید و کد های داخل تم رو بخونید و با توجه به سلیقه ی خودتون تم خودتون رو درست کنید .
فقط چیزی که نیاز بدونید اینکه PROMPT برای خطی که نشون میده مثلا اسم سیستم و نشون دادن ساعت و ... . RPROMPT همون PROMPT فقط برعکس شده و از آخر شروع به نشون دادن میکنه .این دو متغیر و بقیه متغیرها باید با حروف بزرگ نوشته شوند.
برای گیت هم باید از متغیرهای ثابت و با حروف بزرگ استفاده کنید که در پایین نشون میدیم:
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_no_bold[cyan]%}[? git %{$FG[208]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_no_bold[cyan]%}] ?" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_no_bold[cyan]%}]"
مثلا این تیکه ای از کد 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 که دیگه خودتون استادید توی این مبحث.
امیدوارم که خوشتون اومده باشه و ممنون که تا اینجا موندین و خوندین خدافظی ? .