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

6 comments:

  1. review đầu tiên:

    1.
    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]

    2. gõ fish_config để mở ra 1 trang cấu hình trên web => cũng tiện nhưng thấy ko cần lắm.

    tab/suggestion đều ổn cả (Mac 10.10)

    ReplyDelete
    Replies
    1. cần công bố phiên bản fish mà bạn đang sử dụng để tiện theo dõi

      Delete
    2. fish 2.1.2 trên Mac 10.10 nhé.
      trước viết dài lắm nhưng cái đù, login xong mất hết nên viết lại ngắn hoy

      Delete
  2. 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):

    => cái này nên sửa thành: thêm vào đầu file vimrc ...

    ReplyDelete
    Replies
    1. anh cho hỏi tại sao phải cho lên đầu file?
      theo iem biết nó chỉ giúp cho mục đích chạy shell từ vim (tức gõ !r ls chẳng hạn), nên không nhất thiết phải ở đầu file.

      Delete
    2. Anh hem biết, để cuối file vẫn lỗi, chuyển lên đầu là được. DO tích cấp bách của công việc nên chưa có thời gian tìm hiểu

      Delete