เปลี่ยนมาใช้ Zsh แทน Bash กันเถอะ MacOS
ตอนนี้ MacOS default เป็น zsh แล้วนะ 😎
Mac โดย default แล้วจะใช้ Bash เป็น shell ตั้งต้นสำหรับ Terminal สำหรับผมคนที่ใช้ Windows มาก่อนคิดว่า Bash มันดีกว่า CMD เยอะ แต่เมื่อไม่กี่วันก่อนผมพึ่งได้รู้จัก zsh shell เป็น shell อีกตัวนึงที่จะทำให้ผมไม่กลับไปใช้ Bash อีกเลย
ทำไมถึงต้องเปลี่ยนมาใช้ zsh
- MacOS ใช้ bash version เก่ามาก เครื่องผมตอนเขียนบทความนี้เป็น El Capitan version ล่าสุดมี bash version 3.2.57 ซึ่งออกเมื่อตอนปี 2007 (รุ่นล่าสุดตอนเขียนก็ล่อไป v4.4 แล้ว)
- zsh มีทุกอย่างที่ bash มีและมากกว่า
- Auto Complete ที่เจ๋งกว่า Bash เพราะมันเลือกได้เลยโดยใช้ arrow-key
- มี path expansion ไม่ต้องพิมพ์ยาวๆ เช่น
cd /u/l/b
กด Tab แล้วจะกลายเป็น/usr/local/bin
ทันที มี Auto Correct - oh-my-zsh framework ที่เพิ่มความสามารถของ zsh เข้าไปอีก โดยมี plugin กว่า 200 อัน เช่น psprint/zsh-navigation-tools ที่ทำให้คุณดูประวัติ command ที่คุณเคยพิมพ์ไปได้เพียงกด Ctrl + R
- มีสีบอกว่า command ที่คุณพิมพ์ถูกต้องรึเปล่า
- Shared History ถึงแม้สร้าง tab ใหม่มา history ของ command ที่เราพิมพ์ไปจาก tab อื่นก็ยังอยู่
- มี Theme สวยมาก (<– สำคัญ)
ผมพึ่งเปลี่ยนมาใช้ zsh ได้ไม่กี่วัน แต่ดูเหมือนมันจะมี plugin เยอะมากๆ ยังไงก็ลองไปดูกันนะครับ ผมทำวิดีโอสั้นๆให้ดูว่าเวลาใช้งาน zsh + plugin ต่างๆแล้วเป็นยังไง
(ปกติไม่ต้องพิมพ์ zsh จาก bash นะครับ มันจะ default เปิดเป็น zsh เลย)
วิธีการลง zsh บน MacOS
วิธีการลง zsh บน Mac นั้นง่ายมากหากคุณมี Homebrew อยู่แล้ว เพียงพิมพ์
brew install zsh zsh-completions
แค่นั้นก็เสร็จแล้วครับ แต่ผมแนะนำให้ลง oh-my-zsh ด้วยเพื่อเพิ่มความสามารถและทำให้หน้าตา zsh ดูดียิ่งขึ้น
วิธีลง oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
oh-my-zsh มี Theme ให้เลือกมากมาย ลองไปเลือกใช้กันดูนะครับ ส่วนตัวผมชอบ agnoster แต่หน้าตาใน iTerm จะดูดีกว่าใน Terminal หากใครไม่รู้จัก iTerm ลองไปโหลดมาใช้ดูนะครับ
สุดท้ายโหลด z.sh เพื่อทำให้การ navigate shell ของเรานั้นเร็วขึ้น