
Tìm kiếm mờ dòng lệnh.
Miễn phí

fzf là một công cụ tìm kiếm mờ dòng lệnh đa năng, một bộ lọc Unix tương tác. Nó cho phép người dùng nhanh chóng tìm các tệp, lịch sử lệnh, tiến trình, tên máy chủ, v.v., bằng thuật toán khớp mờ. Không giống như các công cụ truyền thống như find hoặc grep, fzf cung cấp trải nghiệm lọc tương tác, theo thời gian thực, giúp tìm kiếm và chọn các mục từ danh sách dài nhanh hơn và hiệu quả hơn đáng kể. Giá trị cốt lõi của công cụ nằm ở khả năng cải thiện đáng kể năng suất dòng lệnh bằng cách giảm thời gian tìm kiếm và chọn mục. fzf nổi bật nhờ tốc độ, giao diện tương tác và khả năng tích hợp liền mạch với nhiều công cụ và trình soạn thảo dòng lệnh khác nhau. Nó được xây dựng bằng Go, đảm bảo hiệu suất cao và ít phụ thuộc. Các nhà phát triển, quản trị viên hệ thống và bất kỳ ai thường xuyên sử dụng terminal sẽ được hưởng lợi từ fzf, hợp lý hóa quy trình làm việc và tiết kiệm thời gian quý báu.
Tính năng cốt lõi của fzf là thuật toán khớp mờ, cho phép người dùng nhanh chóng tìm các mục bằng cách nhập một mẫu, ngay cả khi mẫu đó chứa lỗi chính tả hoặc bỏ qua các ký tự. Thuật toán này sử dụng hệ thống tính điểm dựa trên sự khớp và gần gũi của ký tự, cung cấp kết quả phù hợp trong thời gian thực. Điều này nhanh hơn đáng kể so với việc khớp chính xác hoặc tìm kiếm dựa trên biểu thức chính quy, đặc biệt đối với các danh sách lớn.
fzf hỗ trợ xem trước theo thời gian thực của các mục đã chọn. Sử dụng tùy chọn `--preview`, bạn có thể hiển thị nội dung của một tệp, đầu ra của một lệnh hoặc bất kỳ thông tin liên quan nào khác trực tiếp trong giao diện fzf. Tính năng này vô giá để nhanh chóng xác minh lựa chọn chính xác trước khi thực hiện hành động, chẳng hạn như mở một tệp hoặc chạy một lệnh.
fzf tích hợp liền mạch với nhiều shell khác nhau (Bash, Zsh, Fish), cung cấp keybinding (ví dụ: Ctrl+r cho lịch sử lệnh) và tự động hoàn thành. Sự tích hợp này tăng cường đáng kể khả năng sử dụng, giúp dễ dàng hơn để gọi fzf và sử dụng các tính năng của nó trực tiếp từ dòng lệnh. Việc tích hợp đạt được bằng cách lấy nguồn các script dành riêng cho shell.
fzf cung cấp nhiều tùy chọn tùy chỉnh để điều chỉnh giao diện theo sở thích của bạn. Bạn có thể tùy chỉnh bố cục, màu sắc và keybinding để phù hợp với quy trình làm việc của mình. Điều này bao gồm các tùy chọn cho cửa sổ xem trước, lời nhắc tìm kiếm và hiển thị kết quả. Việc tùy chỉnh đạt được thông qua các cờ dòng lệnh và các biến môi trường.
fzf tích hợp tốt với các trình soạn thảo văn bản phổ biến như Vim và Neovim. Điều này cho phép người dùng sử dụng fzf để điều hướng tệp, chuyển đổi bộ đệm và các tác vụ khác liên quan đến trình soạn thảo. Sự tích hợp này thường liên quan đến các plugin hoặc cấu hình tận dụng khả năng của fzf để tăng cường chức năng của trình soạn thảo.
fzf có thể xử lý các mục đa dòng, điều này rất quan trọng đối với các tác vụ như duyệt luồng nhật ký hoặc xử lý dữ liệu phức tạp. Điều này có nghĩa là fzf hiển thị và lọc chính xác các mục trải dài trên nhiều dòng, đảm bảo rằng toàn bộ mục được xem xét trong quá trình khớp. Điều này đặc biệt hữu ích khi xử lý dữ liệu có cấu trúc hoặc đầu ra dài dòng.
brew install fzf trên macOS, apt install fzf trên Debian/Ubuntu hoặc yum install fzf trên CentOS/RHEL).,2. Tích hợp Shell: Nguồn script tích hợp shell fzf trong tệp cấu hình shell của bạn (ví dụ: .bashrc, .zshrc) để bật các keybinding và tự động hoàn thành. Điều này thường được thực hiện tự động trong quá trình cài đặt, nhưng bạn có thể cần thêm source ~/.fzf/completion.bash và source ~/.fzf/key-bindings.bash.,3. Sử dụng cơ bản: Sử dụng fzf để lọc danh sách từ đầu vào tiêu chuẩn. Ví dụ: ls | fzf sẽ cho phép bạn lọc tương tác đầu ra của ls.,4. Tìm tệp: Sử dụng fzf với lệnh find để nhanh chóng định vị các tệp. Ví dụ: find . -print0 | fzf --read0 --print.,5. Lịch sử lệnh: Nhấn Ctrl+r (nếu keybinding được bật) để tìm kiếm trong lịch sử lệnh của bạn bằng fzf.,6. Tùy chỉnh: Tùy chỉnh hành vi của fzf bằng các tùy chọn dòng lệnh (ví dụ: --preview, --layout) và các biến môi trường (ví dụ: FZF_DEFAULT_COMMAND).Các nhà phát triển sử dụng fzf để nhanh chóng điều hướng các thư mục dự án và mở các tệp trong trình soạn thảo của họ. Họ nhập một phần tên tệp và fzf lọc danh sách các tệp trong thời gian thực, cho phép họ chọn tệp mong muốn với số lần gõ và cuộn tối thiểu. Điều này làm tăng tốc đáng kể quy trình làm việc phát triển.
Quản trị viên hệ thống sử dụng fzf để tìm kiếm trong lịch sử lệnh của họ. Bằng cách nhấn Ctrl+r, họ có thể nhập từ khóa hoặc lệnh một phần và fzf ngay lập tức lọc lịch sử, cho phép họ nhanh chóng thực thi lại các lệnh trước đó mà không cần cuộn hoặc nhập lại thủ công.
Người dùng sử dụng fzf để quản lý các tiến trình đang chạy. Họ có thể sử dụng fzf để lọc đầu ra của `ps` hoặc `top`, cho phép họ nhanh chóng xác định và giết các tiến trình cụ thể theo tên hoặc các tiêu chí khác. Điều này đặc biệt hữu ích để quản lý các ứng dụng sử dụng nhiều tài nguyên.
Các nhà phát triển sử dụng fzf để chuyển đổi giữa các nhánh Git. Họ có thể sử dụng `git branch | fzf` để lọc tương tác danh sách các nhánh và chọn nhánh mong muốn để checkout. Điều này hợp lý hóa quy trình làm việc Git, giúp nó nhanh hơn và ít bị lỗi hơn.
Người dùng tận dụng fzf để kết nối với các máy chủ từ xa thông qua SSH. Họ có thể sử dụng fzf để lọc nội dung của các tệp `~/.ssh/config` hoặc `~/.ssh/known_hosts` của họ, cho phép họ nhanh chóng chọn tên máy chủ mong muốn và thiết lập kết nối SSH.
Các nhà phát triển được hưởng lợi từ fzf bằng cách tăng tốc quy trình làm việc dòng lệnh của họ. Họ có thể nhanh chóng điều hướng các tệp, tìm kiếm lịch sử lệnh và quản lý các tiến trình, dẫn đến tăng năng suất và giảm thời gian phát triển. Thuật toán khớp mờ đặc biệt hữu ích cho các dự án có cơ sở mã lớn.
Quản trị viên hệ thống sử dụng fzf để quản lý hiệu quả các máy chủ và hệ thống. Họ có thể nhanh chóng tìm các tệp, giám sát các tiến trình và thực thi các lệnh, tiết kiệm thời gian và cải thiện khả năng khắc phục sự cố và bảo trì hệ thống. Việc lọc tương tác là vô giá đối với các bộ dữ liệu lớn.
Các kỹ sư DevOps sử dụng fzf cho các tác vụ như quản lý triển khai, tương tác với môi trường chứa và tự động hóa các tác vụ. Khả năng của công cụ để nhanh chóng lọc và chọn các mục từ danh sách là rất quan trọng để hợp lý hóa các hoạt động phức tạp và cải thiện hiệu quả.
Người dùng thành thạo, những người dành một lượng thời gian đáng kể trong terminal, thấy fzf rất cần thiết để tăng cường năng suất của họ. Tốc độ, tính linh hoạt và các tùy chọn tùy chỉnh của công cụ cho phép họ điều chỉnh trải nghiệm dòng lệnh theo nhu cầu cụ thể của họ, giúp họ hiệu quả hơn.
Mã nguồn mở (Giấy phép MIT). Miễn phí sử dụng.