Hướng dẫn toàn diện về tính năng gập mã trong trình soạn thảo micro

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.json trong 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 .yaml tươ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ệ.

Giao diện micro với mã Go và JSON được gập

Dự án micro mã nguồn mở và có sẵn tại: https://gitcode.com/gh_mirrors/mi/micro

Thẻ: micro code-folding terminal-editor syntax-configuration yaml-syntax

Đăng vào ngày 27 tháng 6 lúc 03:19