+4

Navi - Công cụ Cheat Sheet đỉnh nóc

image.png

Trong quá trình làm việc với command-line, việc nhớ hết mọi cú pháp của hàng loạt công cụ có thể trở nên phiền toái. Đây chính là lúc Navi xuất hiện để giải quyết vấn đề này. Navi là một công cụ cheat sheet tương tác giúp bạn nhanh chóng tìm kiếm và thực thi các lệnh command-line thông qua một tập hợp các cheat sheet. Với giao diện đơn giản và tích hợp mạnh mẽ, Navi giúp bạn tiết kiệm thời gian, tăng năng suất và hạn chế việc tra cứu lệnh từ bên ngoài.

Tính năng nổi bật của Navi

  • Cheat sheet tương tác: Bạn có thể duyệt và thực thi các cheat sheet dễ dàng.
  • Tùy chỉnh: Tạo cheat sheet riêng hoặc sử dụng những cái có sẵn từ cộng đồng.
  • Hỗ trợ biến động: Navi cho phép nhập thông số động, điều này hữu ích khi bạn làm việc với các lệnh yêu cầu nhiều giá trị thay đổi.
  • Tích hợp với các công cụ khác: Navi tích hợp với fzf, skim để hỗ trợ tìm kiếm nhanh các lệnh, hoặc chạy trong terminal như một widget tiện lợi.

Lợi ích khi sử dụng Navi

  • Nâng cao năng suất: Navi giúp bạn làm việc hiệu quả hơn, đặc biệt khi bạn phải xử lý nhiều công cụ và lệnh khác nhau. Bạn không cần phải chuyển qua lại giữa các tài liệu hoặc tìm kiếm cú pháp trên Google.

  • Tiết kiệm thời gian: Các lệnh phức tạp như docker, git, kubectl thường yêu cầu nhiều bước và thông số. Navi giúp bạn tiết kiệm thời gian bằng cách cung cấp cheat sheet sẵn có và cho phép thực thi lệnh trực tiếp từ terminal.

  • Hỗ trợ trong việc học tập: Nếu bạn mới làm quen với một công cụ hoặc công nghệ mới, việc sử dụng Navi là một cách tuyệt vời để ghi nhớ các lệnh thường dùng. Bạn có thể dễ dàng học hỏi từ các cheat sheet của người khác và dần dần xây dựng cheat sheet riêng cho mình.

  • Đảm bảo an toàn bộ nhớ và hiệu suất: Navi được viết bằng Rust, một ngôn ngữ lập trình hiện đại có ưu điểm về hiệu suất và an toàn bộ nhớ. Rust giúp Navi chạy nhanh hơn so với nhiều công cụ khác, đồng thời đảm bảo tính ổn định và tránh các lỗi phổ biến như tràn bộ nhớ (memory leaks) hoặc lỗi con trỏ (null pointer). Ngoài ra, nhờ sử dụng Rust, Navi có thể hoạt động mượt mà trên nhiều nền tảng, mang lại trải nghiệm người dùng tốt hơn trong môi trường command-line.

Cài Đặt Navi

Bạn có thể cài đặt Navi bằng nhiều phương pháp, tùy thuộc vào hệ điều hành của mình. Ví dụ, trên macOS, chỉ cần sử dụng lệnh sau:

brew install navi

Trên các hệ điều hành khác, bạn có thể tham khảo hướng dẫn cài đặt trên trang GitHub của Navi.

Cú pháp Cheat Sheet của Navi

Mỗi cheat sheet trong Navi đều có cú pháp đơn giản nhưng rất linh hoạt, thường bao gồm ba phần chính:

1. Tên cheat sheet và danh mục (tags):

Đây là cách để Navi hiểu bạn đang làm việc với lệnh nào và tổ chức các cheat sheet theo danh mục. Cú pháp của phần này bắt đầu với ký hiệu %, theo sau là tên công cụ và các từ khóa liên quan.

% git, branch, merge

2. Mô tả lệnh (description):

Mỗi lệnh trong cheat sheet cần được mô tả ngắn gọn nhưng đầy đủ để người dùng hiểu rõ mục đích và chức năng của lệnh. Cú pháp cho phần mô tả bắt đầu bằng dấu #.

# Cheat này dùng để tạo nhánh mới

3. Lệnh thực thi (command):

Phần này chứa các lệnh thực tế mà bạn muốn thực hiện. Bạn có thể thêm các biến động ($) vào lệnh để nhận đầu vào từ người dùng hoặc sử dụng các lệnh khác để tự động lấy giá trị.

git checkout -b <branch_name>
$ branch_name: git branch | awk '{print $NF}'

Bạn có thể định nghĩa trước các giá trị gợi ý cho biến động này, hoặc sử dụng đầu ra từ các lệnh khác.

  • Biến tĩnh: Là những biến có giá trị cố định hoặc được nhập vào từ bàn phím. Ví dụ:
$ branch_name: echo "Nhập tên nhánh mới"
  • Biến động với đầu ra từ lệnh: Bạn có thể tự động lấy giá trị từ các lệnh đã thực thi. Ví dụ, lấy danh sách tên nhánh từ Git:
$ branch_name: git branch | awk '{print $NF}'

Để nắm rõ chi tiết hơn về cú pháp, bạn có thể tham khảo tài liệu chính thức của Navi trên GitHub Cheatsheet Syntax.

Các Cheat Sheet thông dụng

Chạy navi lần đầu tiên sẽ giúp bạn tải và quản lý kho cheatsheet. Theo mặc định, chúng được ghi ở ~/.local/share/navi/cheats/

1. Cheat Sheet Git

Git là một trong những công cụ phổ biến và thường được sử dụng nhiều trong các dự án phần mềm. Sau đây là một vài ví dụ lệnh Git trong Navi:

% git, repo
# Chuyển nhánh
git checkout <branch_name>
$ branch_name: git branch | awk '{print $NF}'

# Tạo nhánh mới và chuyển tới nhánh đó
git checkout -b <branch_name>
$ branch_name: echo "Tên nhánh mới"

2. Cheat Sheet Docker

Docker là một nền tảng container hóa giúp việc triển khai và quản lý ứng dụng trở nên đơn giản. Cheat sheet Docker giúp bạn làm việc nhanh chóng với các lệnh phức tạp:

% docker, container
# Khởi động container từ image
docker run -d --name <container_name> <image>
$ container_name: docker ps --format "{{.Names}}"

# Xóa container không hoạt động
docker container prune

3. Cheat Sheet AWS CLI

Nếu bạn làm việc với các dịch vụ trên Amazon Web Services (AWS), Navi có thể giúp bạn nhanh chóng truy cập vào các lệnh AWS CLI thường dùng:

% aws, s3
# Liệt kê các bucket S3
aws s3 ls

# Tải tệp lên bucket S3
aws s3 cp <file_path> s3://<bucket_name>
$ file_path: find . -type f
$ bucket_name: aws s3 ls | awk '{print $3}'

4. Cheat Sheet Terraform

Terraform là một công cụ quản lý hạ tầng dưới dạng mã (Infrastructure as Code), thường được sử dụng để quản lý tài nguyên trên đám mây:

% terraform, infra
# Áp dụng cấu hình Terraform
terraform apply

# Kiểm tra cấu hình trước khi áp dụng
terraform plan

5. Cheat Sheet Kubernetes (kubectl)

Kubernetes là hệ thống quản lý container phổ biến. Các lệnh kubectl đôi khi rất dài và phức tạp, nhưng với Navi, bạn có thể dễ dàng tìm kiếm và thực thi chúng:

% kubectl, pods
# Liệt kê tất cả các pod trong namespace
kubectl get pods --namespace <namespace>
$ namespace: kubectl get namespaces -o jsonpath="{.items[*].metadata.name}"

# Mô tả pod
kubectl describe pod <pod_name> --namespace <namespace>
$ pod_name: kubectl get pods -o jsonpath="{.items[*].metadata.name}" --namespace <namespace>

Tùy chỉnh và đóng góp Cheat Sheet

1. Tùy chỉnh

Một trong những tính năng mạnh mẽ của Navi là khả năng tùy chỉnh cheat sheet. Bạn có thể tạo một cheat sheet mới với cú pháp đơn giản và dễ hiểu. Ví dụ, để tạo một cheat sheet cho lệnh ssh:

% ssh, server
# Kết nối tới server qua SSH
ssh <username>@<host>
$ username: whoami
$ host: cat /etc/hosts | awk '{print $1}'

Bạn có thể lưu các cheat sheet này vào thư mục ~/.local/share/navi/cheats/ để dễ dàng sử dụng sau này.

2. Đóng góp

Navi có một cộng đồng lớn và sôi động, luôn sẵn sàng chia sẻ các cheat sheet hữu ích. Trên GitHub, bạn có thể tìm thấy nhiều cheat sheet do cộng đồng đóng góp hoặc đóng góp chính cheat sheet của mình để hỗ trợ người khác. Cách đóng góp cheat sheet lên Navi:

  1. Fork repository Navi trên GitHub.
  2. Thêm các cheat sheet của bạn vào thư mục cheats/.
  3. Tạo Pull Request để đóng góp cheat sheet của bạn cho cộng đồng.

Kết Luận

Navi không chỉ đơn thuần là một công cụ cheat sheet, mà còn là một trợ thủ đắc lực cho mọi lập trình viên, quản trị hệ thống và chuyên gia DevOps. Bằng cách sử dụng Navi, bạn có thể cải thiện năng suất, tiết kiệm thời gian, và giảm bớt căng thẳng khi phải nhớ quá nhiều lệnh phức tạp. Hãy khám phá và bắt đầu sử dụng Navi ngay hôm nay để nâng tầm công việc của bạn.

Tham khảo thêm tại GitHub Navi.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí