cá.
TIL
635
White

Minh-Trung Nguyễn viết ngày 09/01/2018

Nói thực, tôi cũng không biết gì về fish cho đến hôm bị cô bạn (Linh Ngô) đè ra cài ngấu nghiến trên máy và bảo cái này là "bắt buộc" nếu dùng Mac. fish là một shell thay cho bash trong terminal mặc định của Mac, khi gõ command vào thì thay vì tuyền một màu trắng/ đen thì giờ nó trông xanh xanh đỏ đỏ, chưa kể còn có tính năng autocompletion mỗi khi nhấn tab, hoặc phím mũi tên , hoặc gợi ý người dùng các câu lệnh. Bây giờ khi đã chuyển sang Linux, tôi vẫn cài fish thay cho bash mặc định. Bài viết này sẽ giới thiệu vài điều về shell này để bạn dùng thử. Biết đâu lại thích?

fish viết tắt của chữ gì? có phải là "con cá"?


alt text

  • fish thì lấy logo con cá thật, nhưng đó chỉ là cách chơi chữ. Thực ra nó là viết tắt của "friendly interactive shell", dịch nôm na là "shell tương tác thân thiện".
  • Với cái tên trên, mục đích của tác giả của fish là tạo môi trường gõ lệnh có tính tương tác hơn, thân thiện hơn với người dùng so với những shell có lịch sử lâu đời như zsh.
  • fish ra đời năm 2005, cho đến thời điểm viết bài thì bạn ý đã tròn 13 tuổi.

fish có gì hay?


fish màu sắc hơn

Màu mè là một trong những thứ tôi thích nhất ở fish. Nói "màu mè" nghe có vẻ tiêu cực, chứ nó giúp việc nhìn câu lệnh trở nên trực quan hơn, bớt nhàm chán, dễ tách biệt các thành phần trong dòng lệnh.

Như ví dụ bên dưới, nếu câu lệnh đúng, cụm ngminhtrung.github.io sẽ được tô xanh khác màu với màu trắng của cd. Nếu gõ sai, ijconfig thay vì ifconfig, fish sẽ tô đỏ câu lệnh sai ngay lập tức. Cool phết!

alt text

fish đưa ra gợi ý khi còn chưa gõ hết

Một trong những thứ khá thử thách đối với đứa không có "chất command line" như tôi đấy là gõ nhiều là dễ bị sai. Và thế là khi gặp fish, tôi như về với nước bởi bạn fish hoặc gợi ý, hoặc tự động hoàn thành mỗi khi tôi đang gõ dở câu lệnh. Trò này đặc biệt hữu dụng khi gõ đường dẫn dài loằng ngoằng, mà chỉ cần nhầm 1 ký tự thôi là mất công làm lại. Hãy xem ví dụ bên dưới đây:

  • Chưa gõ xong bạn fish đã gợi ý ngay đoạn còn lại. Không phải lúc nào nó cũng gợi ý đúng, nhưng với tôi, đa phần nó gợi ý đúng.
  • Muốn hoàn thành hết phần gợi ý, chỉ cần gõ tab hoặc phím mũi tên "→" thì nhiều "điều kỳ diệu" sẽ xảy ra.
    • Phím mũi tên "→" sẽ giúp hoàn thành hết phần gợi ý.
    • Phím tab cũng giống mũi tên, nhưng nó không thực hiện nếu có quá nhiều lựa chọn để đi tiếp. Lúc đấy nó sẽ xổ ra toàn bộ các hướng để bạn quyết định đi theo hướng nào (ví dụ cd vào 1 thư mục con cháu nào đó của thư mục hiện tại). Bạn cần kết hợp gõ các chữ cái bắt đầu của một trong các lựa chọn để fish có thể biết bạn cần gì.

alt text

Nói chung là cứ dùng mới biết được, và rất nên dùng thử.

fish có cửa sổ để cấu hình trên nền web cực ngầu

Gõ lệnh sau vào cửa sổ terminal để mở trang cấu hình của fish. Có rất nhiều thứ để bạn tùy chỉnh trên nền web.

fish_config

alt text

Kết luận


Tôi chưa khám phá hết fish nói riêng cũng như thế giới shell nói chung, nên bài này chỉ là một điểm khởi đầu nhiều thiếu sót. Nhưng chỉ qua một vài nét, mọi người đều đã thấy fish vừa giữ được sức mạnh của command line, vừa có thêm sự tiện dụng lẫn trực quan, giúp cho người dùng hứng khởi khi dùng nó. Nếu muốn tìm hiểu thêm về fish thì có thể đọc thêm ở phần tham khảo bên dưới đây.

Tham khảo

ngminhtrung 09-01-2018

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Minh-Trung Nguyễn

58 bài viết.
79 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
46 15
Đăng lại một bài đã viết từ cách đây mấy tháng. Chủ đề này đã có không ít, nhưng chẳng hiểu sao lượng bài tự viết của dân lập trình người Việt ta v...
Minh-Trung Nguyễn viết 7 tháng trước
46 15
White
28 5
Ghi chú: Tiêu đề hoàn toàn mang tính câu view. Bài copy từ blog của tác giả :) Tại sao lại có bài viết này? Một ngày đẹp giời tôi cần kiểm t...
Minh-Trung Nguyễn viết 11 tháng trước
28 5
White
17 4
Về bước tìm và xử lý dữ liệu của Việt Nam phục vụ Data Visualization nền web Làm việc với D3js được nửa năm, một trong những điều bận lòng là chưa...
Minh-Trung Nguyễn viết 7 tháng trước
17 4
Bài viết liên quan
White
0 2
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 5 tháng trước
0 2
White
20 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết 2 năm trước
20 1
White
9 0
Có một tuyên ngôn cho chủ nghĩa tối giản trong ngành phần mềm. Link: http://minifesto.org/ Fight for Pareto's law, look for the 20% of effort th...
Cẩm Huỳnh viết 2 tháng trước
9 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
58 bài viết.
79 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!