Trình soạn thảo terminal micro nổi bật nhờ giao diện trực quan và hiệu suất nhẹ nhàng, đặc biệt phù hợp với các nhà phát triển ưa chuộng môi trường dòng lệnh. Một trong những tính năng hữu ích nhất để cải thiện khả năng đọc mã là gập (folding). Bài viết này hướng dẫn cách sử dụng và tùy chỉnh tính năng này — từ thao tác cơ bản đến cấu hình nâng cao.
1. Cơ chế gập mã trong micro
micro hỗ trợ gập mã dựa trên hai yếu tố chính: cấu trúc cú pháp của ngôn ngữ lập trình và chú thích đặc biệt do người dùng định nghĩa.
- Với các ngôn ngữ như Go, Python hay JavaScript, các khối mã được bao bởi dấu ngoặc (
{},begin...end, v.v.) thường tự động trở thành vùng có thể gập. - Đối với định dạng không có cấu trúc rõ ràng (như JSON thuần hoặc file cấu hình), bạn cần dùng chú thích đặc biệt để chỉ định vùng gập.
2. Sử dụng chú thích để tạo vùng gập thủ công
Khi cú pháp không đủ để kích hoạt gập tự động, bạn có thể chèn các đánh dấu chú thích theo mẫu sau:
// <editor-fold desc="Mô tả vùng gập">
// Đoạn mã cần gập
// </editor-fold>
Lưu ý: Tính năng này chỉ hoạt động nếu file hiện tại được micro nhận diện là ngôn ngữ hỗ trợ chú thích kiểu này (thường là C-like).
3. Tùy chỉnh phím tắt gập mã
Micro không có phím tắt mặc định cho gập/mở mã, nhưng bạn có thể tự gán qua file cấu hình. Ví dụ, để gán Ctrl-g cho hành động gập:
{
"bindings": {
"Ctrl-g": "command:togglefold"
}
}
File cấu hình có thể đặt tại:
- Toàn cục:
~/.config/micro/settings.json - Cục bộ (theo dự án):
.micro/settings.jsontrong thư mục gốc dự án
4. Điều chỉnh quy tắc gập qua file cú pháp
Các quy tắc gập được định nghĩa trong file YAML nằm trong thư mục runtime/syntax/. Ví dụ, file go.yaml chứa cấu hình cho Go, trong đó có phần fold xác định điều kiện gập.
Một đoạn cấu hình mẫu trong file cú pháp có thể trông như sau:
fold:
start: '^\s*(func|if|for|switch)\b'
end: '^\s*}'
Bạn có thể sao chép file này vào thư mục ~/.config/micro/syntax/ và chỉnh sửa mà không ảnh hưởng đến cài đặt gốc.
5. Mở rộng bằng plugin
Một số plugin cộng đồng cung cấp tính năng gập nâng cao:
- foldcode: Thêm nhiều lệnh gập, hỗ trợ phím tắt linh hoạt.
- smartfold: Tự động phát hiện vùng gập dựa trên thụt lề (indentation), phù hợp với Python hoặc YAML.
Để cài plugin, mở bảng lệnh bằng Ctrl + e rồi gõ:
plugin install foldcode
Sau đó khởi động lại micro để áp dụng.
6. Xử lý sự cố thường gặp
Không thấy biểu tượng gập? Kiểm tra:
- Ngôn ngữ của file có được hỗ trợ gập không (xem file
.yamltương ứng). - File cấu hình có lỗi cú pháp JSON không.
- Plugin có xung đột không (thử vô hiệu hóa plugin để kiểm tra).
Thay đổi không lưu được? Đảm bảo thư mục ~/.config/micro/ có quyền ghi và file settings.json tuân thủ định dạng JSON hợp lệ.
Dự án micro mã nguồn mở và có sẵn tại: https://gitcode.com/gh_mirrors/mi/micro