مهاجرت از oh my zsh به prezto
قبلا در مورد zsh و oh my zsh نوشته بودم. zsh یه شل قوی و محبوبه که دست bash رو از پشت میبنده و زمانی که با oh my zsh ترکیب بشه کاربردی تر و زیبا تر میشه.
oh my zsh با اینکه فوق العاده کار میکنه اما یه مشکل داره و اونم تاخیر یک ثانیهای لود معروفشه. prezto از oh my zsh فورک شده تا این مشکل رو حل کنه. بهینهسازیهای دیگهای هم توی کد oh my zsh صورت گرفته که حتما شما رو راغب به استفاده از pretzo خواهد کرد.
قابلیت تکمیل خودکار pretzo با نشون دادن نتایج توی دسته بندیهای مختلف خیلی جالبه.
مثلا اگه بعد از تایپ ls کلید تب رو بزنید میتونید دستورات خارجی، دستورات کرنل، توابع شل و آلیاسها رو توی دستههای خودشون ببینید:
ali@localhost:~/ > ls
-- external command --
ls lscpu lslogins lspcmcia lsusb.py
lsattr lsinitcpio lsmod lspst
lsblk lslocks lspci lsusb
-- alias --
ls
و یه قابلیت فوقالعادهتر که قبلا با دستور cheat معرفیش کرده بودم دیدن لیست پارامترهای یه دستوره که فقط کافیه بعد از تایپ دستور و علامت - کلید تب رو بزنید.
ali@localhost:~/ > tar -
-- tar function --
A -- append to an archive
c -- create a new archive
f -- specify archive file or device
t -- list archive contents
u -- update archive
v -- verbose output
x -- extract files from an archive
pretzo از تمهای زیباتری نسبت به oh my zsh پشتیبانی میکنه و همچنین پیکرهبندی اون بر مبنای oh my zsh انجام میشه که همهی این موارد باعث میشن شما به راحتی از oh my zsh به فرزند خلفش pretzo مهاجرت کنید. توی این پست راه اندازی و کانفیگ prezto رو خواهیم دید.
۱- حذف oh my zsh
از فایلهای oh my zsh نسخهی پشتیبان تهیه کنید.
$ cp ~/.zshrc ~/.zshrc-back $ cp -R ~/.oh-my-zsh ~/.oh-my-zsh-back
با مدیر بستهی خودتون oh my zsh رو حذفش کنید.
آرچی ها:
# pacman -R oh-my-zsh
یا
# pacman -R oh-my-zsh-git
اگه oh my zsh رو از روی سورس کامپایل کردید:
به پوشهی نصب برید و این دستور رو وارد کنید.
# uninstall_oh_my_zsh
۲- نصب prezto
zsh رو اجرا کنید.
$ zsh
دستور زیر رو وارد کنید.
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
لینکهای مورد نیاز رو بسازید.
$ ln -s ~/.zprezto/runcoms/zlogin~/.zlogin
$ ln -s ~/.zprezto/runcoms/zlogout ~/.zlogout
$ ln -s ~/.zprezto/runcoms/zpreztorc ~/.zpreztorc
$ ln -s ~/.zprezto/runcoms/zprofile ~/.zprofile
$ ln -s ~/.zprezto/runcoms/zshenv ~/.zshenv
$ ln -s ~/.zprezto/runcoms/zshrc ~/.zshrc
و در آخر zsh رو شل پیشفرضتون قرار بدید.
$ chsh -s /bin/zsh
۲- آپدیت pretzo
هر بار که نسخهی جدیدی از pretzo بیاد میتونید با دستور زیر آپدیتش کنید.
$ git pull && git submodule update --init --recursive
۳- انتخاب تم
pretzo تمهای بسیار زیبایی رو از قبل برای استفاده آماده کرده.
برای دیدن لیست تمها این دستور رو وارد کنید.
$ prompt -l
و برای دیدن پیش نمایش هم تم هم
$ prompt -p THEME_NAME
و در نهایت تم مورد نظرتون رو توی فایل ~/.zpretzorc بعد از بخش prompt تعیین کنید.
# Prompt # # Set the prompt theme to load. # Setting it to 'random' loads a random theme. # Auto set to 'off' on dumb terminals. zstyle ':prezto:module:prompt' theme'sorin'
اگه هم دلتون میخواد که هر بار یه تم رو ببینید به جای اسم تم کلمهی random رو بذارید.
۴- فقط کمی تنظیمات
فایل ~/.zshrc رو باز کنید و alias ها و export های مورد نیازتون رو داخلش بنویسید. نمونهی فایل من رو ببینید:
# Customize to your needs... export PATH=$HOME/bin:/usr/local/bin:$PATH:$HOME/Other/bin export EDITOR="nano" export PAGER=/usr/bin/most alias ll="ls -lh" alias la="ls -A" alias off="sudo shutdown -h" alias of="sudo shutdown -h 6:55" alias svi='sudo vi' alias sgedit='sudo gedit' alias snano='sudo nano' alias ..='cd ..' alias cp='vcp -gR' alias mv='vmv -g'
اینم لیستی از تمهای pretzo
minimal
nicoulaj
peepcode
sorin
steeef
adam1
adam2
bart
bigfade
clint
elite
elite2
fade
fire
off
oliver
pws
redhat
suse
walters
zefram
توی پستهای بعدی در مورد نحوهی پیکرهبندی pretzo بیشتر صحبت میکنیم.