วันนี้ขอแนะนำ shell สุดเมพ สำหรับแก้อาการปวดหัวเมื่อใช้ terminal ไปครับ
คุณเคยเจออาการเหล่านี้หรือไม่
- tab completion ไฟล์เยอะมาก แล้วพอกด tab สองที ไหลมาเต็มจอ
- เขียนคำสั่ง ยาวมากๆ แล้วพิมพ์ผิดไปตรงกลาง จะย้อนกลับไปยังไงดี
- ติด vim เกลียด emacs แต่ใน terminal ต้องกด hotkey ไม่ใช่มี mode (ผมใช้ nano นะครับ)
- ลำปาง หนาวมาก แต่กี่องศา?
- พิมพ์คำสั่ง เสียยาว แล้วลืม sudo แต่กด home ไม่ได้!! (เจอบ่อย พวก freebsd ครับ)
- จะกลับไป directory ก่อนหน้าที่เคยไป ที่ path ยาวมากๆ แต่ลืม pushd ไว้
- เขียนคำสั่ง ยาวมากๆ จนต้องจดไว้ใน text editor ก่อน
- พิมพ์คำสั่ง แล้วลืมไปว่า จะสั่งอะไรต่อ แต่เคยสั่งไปแล้ว
นรกสิครับ เจออย่างนี้ ต้อง zsh ครับ ก่อนอื่น ติดตั้งง่ายๆ ครับ สูตรเดิม
sudo apt-get install zsh
เสร็จแล้ว zsh ที่ได้ จะยังไม่ใช้ ให้เปลี่ยน shell ของเราเป็น zsh ครับ เวลาเปิด shell อะไร จะได้เป็น zsh ไปเลย(ถ้าไม่ทำก็ได้ครับ เวลาจะใช้ ก็สั่ง zsh เอา) ด้วยคำสั่ง
chsh
ใส่พาธเป็น /bin/zsh ครับ เสร็จแล้ว ก็ login ใหม่เสียหนึ่งที(ถ้าใช้ gnome-terminal แค่ปิดเปิดใหม่ครับ) แต่ทีนี้ zsh เนี่ยครับ มันธรรมดามากๆ ลูกเล่นที่ผมว่าไปไม่มีสักอย่าง ต้องเปิดใช้เอง ก็เลยมีคนทำไว้ให้ครับ เป็นดิสโตรเจ้าหนึ่ง ดังนั้นเราไปขโมยเค้ามากันครับ
wget -O .zshrc http://git.grml.org/f/grml-etc-core/etc/skel/.zshrc
wget -O .zshrc.global http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
สำหรับวิธีใช้และปุ่มลัดนั้น กลัวลืมเอาไปแปะฝาบ้านไว้ได้ครับ http://grml.org/zsh/grml-zsh-refcard.pdf มาดูกันครับ มันจะแก้ปัญหา ข้างบนอย่างไร
- tab completion ไฟล์เยอะมาก แล้วพอกด tab สองที ไหลมาเต็มจอ
- ใน zsh กด esc-i ครับ(แปลว่า กด esc แล้วค่อยกด i ไม่ใช่พร้อมกันนะครับ) จะแสดงรายการ completion มา ใช้ปุ่มลูกศรบนแป้น เลือกได้เลยครับ
- เขียนคำสั่ง ยาวมากๆ แล้วพิมพ์ผิดไปตรงกลาง จะย้อนกลับไปยังไงดี
- ใน zsh กด enter ไปเลยครับ แล้วใช้ !!:s/ข้อความที่ผิด/ข้อความถูก/ แถมใช้ regular expression ได้เลยครับ
- ติด vim เกลียด emacs แต่ใน terminal ต้องกด hotkey ไม่ใช่มี mode (ผมใช้ nano นะครับ)
- setopt vi แล้วขอให้สนุกครับ :) (ผมไม่ได้ลองนะครับ -- ติด nano)
- ลำปาง หนาวมาก แต่กี่องศา?
- สั่ง weather ตามด้วยรหัสสนามบินครับ ซึ่งของท่าอากาศยานลำปาง คือ VTCL ก็ weather VTCL แล้วก็รู้แล้วครับ
- พิมพ์คำสั่ง เสียยาว แล้วลืม sudo แต่กด home ไม่ได้!! (เจอบ่อย พวก freebsd ครับ)
- กด ctrl+o(พร้อมกัน) แล้วกด s(ปล่อย ctrl+o ก่อน) ครับ
- จะกลับไป directory ก่อนหน้าที่เคยไป ที่ path ยาวมากๆ แต่ลืม pushd ไว้
- เขียนคำสั่ง ยาวมากๆ จนต้องจดไว้ใน text editor ก่อน
- กด esc-e ครับ จะขึ้น $EDITOR ขึ้นมา พร้อมเนื้อหาในบรรทัดปัจจุบัน ดังนั้นก็น่าจะสะดวกในการแก้ไขแล้วนะครับ
- พิมพ์คำสั่ง แล้วลืมไปว่า จะสั่งอะไรต่อ แต่เคยสั่งไปแล้ว
- พิมพ์คำสั่งขึ้นต้นไป แล้วกดลูกศรขึ้นครับ มันจะเติมให้แต่ที่ขึ้นต้นด้วยคำสั่งนั้นๆ
นอกจากนี้คำสั่งและปุ่มลัดอื่นๆ ใน sheet ข้างบน มีครบครับ ละเอียดมาก และมีประโยชน์มากครับ
ปล. @gumara ขอ markdown ด้วยครับ
Comments
ธาตุไฟแตก
หุๆ วิชาผมคงยังไม่ถึงขั้นเมพ อ่านแล้วธาตุไฟเข้าแทรกเกือบตาย
เอาไว้จะพยามลองนะฮับ