อัพเกรด Terminal ให้เทพกว่าเดิมด้วย Zsh

 6 months ago in linux
Shell
Incididunt veniam sint sunt voluptate ex nulla aliqua Lorem laborum nulla incididunt sint. In labore nulla nulla ad nulla voluptate minim laborum est in adipisicing consectetur tempor. Eu cupidatat esse dolore eu aliquip minim commodo consequat irure incididunt eiusmod nisi.t.

โดยปกติ Terminal ใน Linux หลายๆ Distro ก็จะใช้ bash (Bourne Again Shell) กัน ซึ่งมันก็ใช้ได้แหละ แต่เจ้า Zsh มีความสามารถหลายๆ อย่างที่ทำให้เราใช้ Terminal ง่ายขึ้นไปอีก ตัวอย่างเช่น การเดาคำสั่ง หรือ directory ที่เราต้องการจะ cd เข้าไป แถมยังมี Plugins ให้ใช้เยอะมาก ดีขนาดนี้ ไปใช้ Zsh แทน bash กันดีกว่า

เช็ค Linux ของเราว่าใช้ Shell ตัวไหนอยู่

echo $SHELL

Echo Shell

ติดตั้ง Zsh

สำหรับสาย Arch

sudo pacman -S zsh

สำหรับสาย Debian

sudo apt install zsh

สำหรับสาย OpenSUSE

sudo zypper install zsh

สำหรับสาย RedHat

sudo dnf install zsh

Clone Template

สำหรับการ Clone จะใช้ Git หากใครยังไม่ได้ติดตั้ง สามารถติดตั้งได้ตามนี้ การติดตั้ง Git

Clone Template

git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

Copy Template ไปยังไฟล์ .zshrc

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

ติดตั้ง Plugins

Zsh มี Plugin ให้ใช้กันเยอะมาก สามารถไปดาวน์โหลดจาก Github มาใช้ได้ แต่ที่ผมแนะนำและต้องมี คือ 2 ตัวนี้

zsh-syntax-highlighting

ช่วยสำหรับ Highlight syntax ใน Terminal ทำให้เราดูง่ายขึ้น

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

zsh-autosuggestions

ตัวอย่างเช่นเราใช้คำสั่ง cd ปลั๊กอินจะช่วยแนะนำ directory ที่เราสามารถเข้าได้ หรืออีกกรณีถ้าเราเคยใช้คำสั่งไหนไป หรือเคยพิมพ์เพื่อเรียกใช้ไปแล้ว สามารถเรียกมาใช้งานได้เลย ทำให้เราไม่ต้องพิมพ์ใหม่ทั้งหมด

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

สำหรับการติดตั้ง Plugin จะดึงจาก git มาติดตั้งเลย สำหรับเครื่องใครยังไม่ลง git สามารถใช้วิธีการตามลิงก์นี้ได้เลย การติดตั้ง Git

ตั้งค่า Zsh

หลังจากที่ติดตั้้ง Plugins และ Themes ไปแล้ว จะยังไม่สามารถใช้งานได้เลย เราต้องมาตั้งค่าที่ไฟล์ .zshrc ซะก่อน ส่วนการแก้ไขก็เปิดกับโปรแกรม Text Editor ทั่วไปได้เลย ในตัวอย่างผมจะใช้ nano เพราะแทบจะมีในทุก Distro อยู่แล้ว

nano ~/.zshrc

Plugins

ในการตั้งค่า Plugin ให้เราหาบรรทัด plugins แล้วเพิ่มชื่อ Plugins ที่เราติดตั้งเข้าไป

Add plugins Zsh

plugins=(git
    zsh-autosuggestions
    zsh-syntax-highlighting
)

Themes

Theme Default ที่ ZSH มีมาให้คือ robbyrussell หาใครต้องการเปลี่ยนสามารถเปลี่ยนได้โดยหาบรรทัด ZSH_THEME แล้วเปลี่ยนเป็น Theme ที่ต้องการ

Add theme Zsh

ZSH_THEME="robbyrussell"

Themes เพิ่มเติม

Zsh default

หลังจากติดตั้งและตั้งค่า Zsh แล้ว ขั้นตอนสุดท้ายคือตั้งให้ Zsh เป็น default shell ใน Terminal โดยใช้คำสั่งตามข้างล่าง

chsh -s /bin/zsh

Change Shell

เมื่อเรียบร้อยแล้วให้ Reboot เครื่องสักหนึ่งรอบ

Zsh

Tada! เพียงเท่านี้ Terminal ของเราก็จะใช้ Zsh แทน Bash แล้ว