Saturday, 18 May 2013

[fish] Quick review fish 2.0 trên Ubuntu 12.04

20130520 - UPDATED: kết luận về fish
TẤT CẢ CÁC TIPS sử dụng fish nên tập trung ở bài viết này.
Sau 2 ngày sử dụng, sau đây là những gì đáng chú ý:

Các tính năng hay ho
ở Prompt, path dài nó tự rút ngắn:
hvn@lappy ~> cd /usr/local/graylog2-server-0.11.0/
hvn@lappy /u/l/graylog2-server-0.11.0>

Các lỗi / chú ý
- Trên máy tớ chức năng tab của fish bị hỏng, không chuyển qua các option khác mà chỉ chọn option đầu tiên (các máy khác / phiên bản khác có thể không bị, 1 ông dùng Debian đã review và bảo không bị)
- Khi gõ lệnh, nó sẽ hiện lên 1 dòng xám để suggest, bấm ctrl F để chọn như nó đã suggest
- dùng vim  phải thêm vào  vimrc dòng nếu không sẽ gặp lỗi (đã gặp lỗi khi chạy lệnh từ trong vim):
set shell=/bin/bash
- không có !!, không thể gõ sudo !! mà chỉ có thể làm thủ công kiểu : up, Home, sudo. Họ cho thế là xịn nhưng đó thực sự là điều ở bash tớ rất thích. Nếu đang không dùng byobu/tmux/screen, bạn có thể bấm ctrl P, ctrl A, sudo để có kết quả tương tự.
- không dùng ctrl R để tìm trong history nữa mà gõ phần đầu câu lệnh, dùng Alt +Up hoặc Alt + Down để thực hiện việc này  (Alt Up/Down không hoạt động  khi dùng tmux/ byobu, screen, có lẽ phải "hack" 1 tí mới chạy được)

- !$ (argument cuối cùng của lệnh vừa chạy) sẽ được thay thế bằng Alt + Up

by +Lâm Tùng
- không có `export`, phải dùng `set` để thay thế
`export A=B` == `set -gx A B` [http://fishshell.com/docs/current/commands.html#set]
- gõ fish_config để mở ra 1 trang cấu hình trên web

KẾT LUẬN
sau 3 ngày dùng Fish, những tính năng hay mà fish hơn bash không có nhiều.
Fish được đánh giá là có những tính năng tương tự zsh mà nhẹ hơn nhiều, nhưng phiên bản 2.0 trên Ubuntu 12.04 vẫn còn lỗi (mà lại lỗi cái tính năng hay nhất - chuyển qua các option khi bấm tab)
Khi đôi tay bạn làm quen với fish cũng là lúc bạn lại thấy ngượng tay với bash. Mà bash thì ở khắp mọi nơi, mặc định trên rất nhiều linux-distro, bash không hoàn hảo, nhưng nó đủ tốt để dùng.
chsh `whoami` -s /bin/bash; sudo apt-get purge fish -y
fish thích hợp cho những ai chỉ dùng 1 máy, không nghịch các server, chưa thành thạo với bash hoặc ghét bash :v