Nerd Fonts: Font Đã Vá Icon Cho Terminal
Nerd Fonts là một bộ sưu tập font lập trình đã được vá sẵn glyph icon, kèm theo script để bạn tự vá font khác, thêm icon từ Font Awesome, Octicons và nhiều bộ icon khác vào những font như Hack hay Fira Code. Hãy dùng ngay khi terminal, thanh trạng thái, hay plugin cây thư mục của bạn cần hiển thị các glyph icon đó. Bỏ qua nếu công cụ bạn dùng chẳng bao giờ render các icon này, vì khi đó bạn chỉ đang cài một file font nặng hơn mà chẳng được gì thêm.
Nerd Fonts Là Gì?
Nerd Fonts là một dự án tổng hợp và vá font, lấy các font lập trình có sẵn và thêm glyph icon từ những bộ icon như Font Awesome, Devicons, Octicons, và Material Design Icons vào đó. README liệt kê 67 font gia đình đã được vá sẵn và tổng số glyph kết hợp vượt hơn 10.000, cùng một script vá font dựa trên FontForge dành cho những font chưa nằm trong danh sách đó.
Tính Năng Chính Và Các Bộ Glyph
- ✓67 font gia đình đã được vá sẵn theo README, nên bạn có thể lấy ngay một Nerd Font dựng sẵn thay vì tự vá.
- ✓Các bộ glyph kết hợp từ Font Awesome, Material Design Icons, Octicons, Devicons, Weather icons, Powerline Extra Symbols, Font Logos, Pomicons, và Codicons, tổng cộng hơn 10.000 glyph theo README.
- ✓Mỗi font có phiên bản glyph dạng monospaced (độ rộng cố định), double-width, hoặc proportional, để độ rộng icon khớp với cách terminal của bạn hiển thị ký tự.
- ✓Một script Python dựa trên FontForge để vá bất kỳ font nào bạn đang dùng, không chỉ những font có sẵn trong danh sách.
- ✓Một script bash do người đóng góp cung cấp có thể vá lại toàn bộ bộ font cùng lúc, hữu ích khi bạn cập nhật theo các font gốc mới.
- ✓IEC Power Symbols cũng được gộp vào cùng các bộ icon khác, phủ riêng glyph cho pin và nguồn, bên cạnh bộ Powerline Extra Symbols.
Nâng Cao Quy Trình Phát Triển Của Bạn
- •Gắn glyph icon vào prompt shell hay thanh trạng thái cần ký hiệu kiểu powerline, vì bộ glyph đó đi kèm sẵn trong mọi font đã vá.
- •Cho plugin cây thư mục hay công cụ tìm file trong trình soạn thảo hiển thị icon theo từng loại file thay vì ô trống vì thiếu glyph.
- •Kết hợp với VimDevIcons, plugin Vim đi kèm mà dự án dẫn link tới, để có icon theo loại file trong trình duyệt file của Vim.
- •Vá một font bạn đã thích nhưng chưa nằm trong danh sách vá sẵn, dùng script FontForge thay vì đổi hẳn sang font khác.
Cách Cài Đặt Nerd Fonts
Cách cài đặt phụ thuộc vào hệ điều hành và mức độ kiểm soát bạn muốn. Trên macOS, Homebrew Cask xử lý việc này: `brew install font-hack-nerd-font` (thêm `--cask` trên Linux). Trên Windows, Chocolatey (`choco install nerd-fonts-hack`) hoặc Scoop (`scoop bucket add nerd-fonts` rồi `scoop install Hack-NF`) đều dùng được, và có một script cài đặt PowerShell của cộng đồng cho việc thiết lập tương tác hoặc dùng trong script khác. Người dùng Arch Linux có thể lấy phần lớn font trực tiếp từ Arch Extra repository. Nếu chỉ cần một file font, README chỉ cách tải trực tiếp bằng curl vào `~/.local/share/fonts` trên Linux hoặc `~/Library/Fonts` trên macOS, hoặc bạn có thể tải cả gói font family từ bản release mới nhất trên GitHub. Ngoài ra còn có script `install.sh` / `install.ps1` để cài toàn bộ font hoặc chỉ một font theo tên. README nói rõ việc clone toàn bộ repo là không cần thiết và không hiệu quả nếu bạn chỉ muốn lấy font. Nếu vẫn muốn clone, hãy dùng `git clone --depth 1` để clone nông.
Vá Font Tùy Chỉnh Với Nerd Fonts
Việc vá font của riêng bạn chạy qua một script Python dựa trên FontForge được nhắc tới trong phần Features, trỏ nó vào một font và nó sẽ thêm các bộ glyph icon vào, với tùy chọn xuất glyph dạng monospaced (độ rộng cố định), double-width, hoặc proportional tùy theo cách terminal của bạn render. README không nêu cú pháp lệnh vá cụ thể ở đây. Hãy xem tài liệu Font Patcher trong repo trước khi chạy nó với một font bạn quan tâm. Để vá lại toàn bộ bộ sưu tập hiện có cùng lúc, một script bash do người đóng góp cung cấp xử lý việc đó hàng loạt thay vì chạy patcher cho từng font.
Điểm mạnh
- ✓67 font đã được vá sẵn và sẵn sàng cài đặt theo README, nên hầu hết người dùng không cần tự chạy patcher.
- ✓Glyph icon được gộp từ nhiều bộ khác nhau, gồm Font Awesome, Octicons, Material Design Icons, Devicons, và nhiều bộ khác, vào một file font duy nhất thay vì nhiều file.
- ✓Các phiên bản glyph monospaced, double-width, và proportional giúp độ rộng icon khớp với cách terminal của bạn render.
- ✓Nhiều cách cài đặt khác nhau (Homebrew, Chocolatey, Scoop, Arch Extra, curl, script cài đặt) thay vì chỉ một cách cứng nhắc.
- ✓Một script patcher FontForge độc lập mở rộng phạm vi tới cả những font nằm ngoài danh sách dựng sẵn.
Những Điều Cần Cân Nhắc Trước Khi Dùng
- △README nói rõ không khuyến khích clone toàn bộ repo trừ khi bạn đóng góp phát triển, vì kích thước repo lớn. Hãy tải bản release hoặc một file font riêng lẻ thay vì clone cho nhu cầu thông thường.
- △Đường dẫn file trên nhánh master không được xem là ổn định, nên việc gắn cứng URL GitHub thô tới một file font cụ thể có thể hỏng về sau; hãy ghim vào một bản release có tag thay vì dùng master.
- △Các cách tải bằng curl hay script cài đặt có cảnh báo từ README rằng chúng sẽ không lấy được các font mới hơn, vì các bản release mới không còn được đặt trong chính repo nữa.
- △Giấy phép không được ghi rõ trong dữ liệu metadata có ở đây, nên hãy xác nhận trực tiếp trên repo trước khi dùng font đã vá trong sản phẩm thương mại.
- △Cách dùng font dự phòng để bù glyph còn thiếu có một đánh đổi được README nêu rõ: việc scale và căn chỉnh ký hiệu dự phòng có thể không nhất quán.
Lựa Chọn Thay Thế Cho Nerd Fonts
Câu Hỏi Thường Gặp
Nerd Fonts gộp nhiều bộ icon vào font đã vá của mình: Font Awesome, Material Design Icons, Octicons, Devicons, Weather icons, Powerline Extra Symbols, Font Logos, Pomicons, Codicons, và IEC Power Symbols, tổng cộng hơn 10.000 glyph theo README.
Nerd Fonts có một script Python dựa trên FontForge để vá glyph icon vào bất kỳ font nào bạn chọn, với tùy chọn xuất glyph dạng monospaced, double-width, hoặc proportional.
Nerd Fonts có nhiều cách cài tùy hệ điều hành: Homebrew Cask trên macOS, Chocolatey hoặc Scoop trên Windows, Arch Extra repository trên Arch Linux, hoặc tải trực tiếp bằng curl hay dùng script cài đặt cho một file font riêng lẻ.
Việc clone toàn bộ repo Nerd Fonts không được khuyến khích cho nhu cầu thông thường, theo README, vì repo khá lớn. Một bản release, một file font tải bằng curl, hoặc clone nông (`git clone --depth 1`) đáp ứng đủ hầu hết nhu cầu.
Danh sách glyph đầy đủ nằm trong `src/glyphs/README.md` bên trong repo, và trang Cheat Sheet trên NerdFonts.com cho phép tìm glyph trực tiếp, theo README.
Vấn đề Nerd Fonts giải quyết
Prompt terminal, plugin cây thư mục, và theme thanh trạng thái ngày càng tham chiếu tới các glyph icon ở codepoint cụ thể, nhưng font lập trình thông thường không có sẵn những codepoint đó, nên icon hiện ra thành ô trống hoặc ký tự thiếu. Nerd Fonts giải quyết việc này bằng cách vá thêm các codepoint glyph đó trực tiếp vào những font mà nhà phát triển đã dùng sẵn, thay vì bắt mỗi công cụ phải tải thêm một font icon riêng bên cạnh font code của bạn.
Ai nên dùng — và ai nên bỏ qua
Hãy dùng Nerd Fonts nếu bạn chạy một prompt terminal, thanh trạng thái, hay plugin trình soạn thảo cần glyph icon ở các codepoint cụ thể, hoặc nếu bạn duy trì một font và muốn thêm hỗ trợ icon bằng patcher thay vì đổi hẳn sang font khác. Bỏ qua nếu không có gì trong thiết lập của bạn thực sự render các glyph vùng private-use đó, vì khi đó bạn chỉ đang cài một file font lớn hơn mà không thấy thay đổi gì, hoặc nếu bạn cần xác nhận giấy phép rõ ràng trước khi đưa font đã vá vào sản phẩm thương mại, vì điều đó chưa được nêu rõ trong dữ liệu ở đây.
Repo liên quan
Muốn nghe thêm một ý kiến về nerd-fonts?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về nerd-fonts.
