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

Linux

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

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

ประมาณ 4 ปีที่ผ่านมา

1 min read

Echo shell

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

echo $SHELL
Echo Shell
Echo Shell

Install Zsh

สำหรับสาย Arch

sudo pacman -S zsh

สำหรับสาย Debian

sudo apt install zsh

สำหรับสาย OpenSUSE

sudo zypper install zsh

สำหรับสาย RedHat

sudo dnf install zsh

Get Default Template

เราจำเป็นที่จะต้อง clone default template เพื่อเอาค่าเริ่มต้นของ zsh มาใช้ ถ้าไม่เอามา แล้วมาตั้งค่าเอง ก็คงจะไม่สะดวกนัก

สำหรับการ 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

Install 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

Setting Zsh

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

nano ~/.zshrc

Plugins

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

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

Themes

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

Add theme Zsh
Add theme Zsh
ZSH_THEME="robbyrussell"

Themes เพิ่มเติม

Set to default

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

chsh -s /bin/zsh
Change Shell
Change Shell

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

ZSH
ZSH

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

Tags:

Terminal zsh