เช็ค Linux ของเราว่าใช้ Shell ตัวไหนอยู่
echo $SHELL
สำหรับสาย Arch
sudo pacman -S zsh
สำหรับสาย Debian
sudo apt install zsh
สำหรับสาย OpenSUSE
sudo zypper install zsh
สำหรับสาย RedHat
sudo dnf install zsh
เราจำเป็นที่จะต้อง clone default template เพื่อเอาค่าเริ่มต้นของ zsh มาใช้ ถ้าไม่เอามา แล้วมาตั้งค่าเอง ก็คงจะไม่สะดวกนัก
สำหรับการ clone จะใช้ git หากใครยังไม่ได้ติดตั้ง สามารถติดตั้งได้ตามนี้
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
.zshrc
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
Zsh มี Plugin ให้ใช้กันเยอะมาก สามารถไปดาวน์โหลดจาก
มาใช้ได้ แต่ที่ผมแนะนำและต้องมี คือ 2 ตัวนี้
ช่วยสำหรับ Highlight syntax ใน Terminal ทำให้เราดูง่ายขึ้น
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
ตัวอย่างเช่นเราใช้คำสั่ง cd ปลั๊กอินจะช่วยแนะนำ directory ที่เราสามารถเข้าได้ หรืออีกกรณีถ้าเราเคยใช้คำสั่งไหนไป หรือเคยพิมพ์เพื่อเรียกใช้ไปแล้ว สามารถเรียกมาใช้งานได้เลย ทำให้เราไม่ต้องพิมพ์ใหม่ทั้งหมด
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
สำหรับการติดตั้ง Plugin จะดึงจาก git มาติดตั้งเลย สำหรับเครื่องใครยังไม่ลง git สามารถใช้วิธีการตามลิงก์นี้ได้เลย
หลังจากที่ติดตั้ง Plugins และ Themes ไปแล้ว จะยังไม่สามารถใช้งานได้เลย เราต้องมาตั้งค่าที่ไฟล์ .zshrc
ซะก่อน ส่วนการแก้ไขก็เปิดกับโปรแกรม Text Editor ทั่วไปได้เลย ในตัวอย่างผมจะใช้ nano เพราะแทบจะมีในทุก Distro อยู่แล้ว
nano ~/.zshrc
ในการตั้งค่า Plugin ให้เราหาบรรทัด plugins
แล้วเพิ่มชื่อ Plugins ที่เราติดตั้งเข้าไป
plugins=(git
zsh-autosuggestions
zsh-syntax-highlighting
)
Theme Default ที่ ZSH มีมาให้คือ robbyrussell
หาใครต้องการเปลี่ยนสามารถเปลี่ยนได้โดยหาบรรทัด ZSH_THEME
แล้วเปลี่ยนเป็น Theme ที่ต้องการ
ZSH_THEME="robbyrussell"
หลังจากติดตั้งและตั้งค่า Zsh แล้ว ขั้นตอนสุดท้ายคือตั้งให้ Zsh เป็น default shell ใน Terminal โดยใช้คำสั่งตามข้างล่าง
chsh -s /bin/zsh
เมื่อเรียบร้อยแล้วให้ Reboot เครื่องสักหนึ่งรอบ
Tada! เพียงเท่านี้ Terminal ของเราก็จะใช้ Zsh แทน Bash แล้ว
© 2022 9MZa.net All Rights Reserved.