CMD

เปลี่ยนมาใช้ 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 ต่างๆแล้วเป็นยังไง

asciicast (ปกติไม่ต้องพิมพ์ 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 ของเรานั้นเร็วขึ้น