Tôi sử dụng một tiện ích mà tôi đã viết trong C được gọi autotab
. Nó phân tích đầu tiên vài ngàn dòng của một tập tin mà bạn tải và xác định giá trị cho các thông số Vim shiftwidth
, tabstop
và expandtab
.
Điều này được biên dịch bằng cách sử dụng, ví dụ , gcc -O autotab.c -o autotab
. Hướng dẫn tích hợp với Vim nằm trong tiêu đề bình luận ở trên cùng.
Autotab khá thông minh, nhưng đôi khi có thể bị nhầm lẫn, đặc biệt bởi điều đó đã được duy trì không nhất quán bằng cách sử dụng các kiểu thụt đầu dòng khác nhau.
Nếu một tệp rõ ràng sử dụng các tab hoặc kết hợp các tab và khoảng trắng để thụt lề, Autotab sẽ tìm ra kích thước tab nào đang được sử dụng bằng cách xem xét các yếu tố như căn chỉnh các yếu tố bên trong qua các dòng liên tiếp, chẳng hạn như nhận xét.
Nó hoạt động với nhiều ngôn ngữ lập trình và tha thứ cho các phần tử "ngoài băng" không tuân theo gia tăng thụt lề, chẳng hạn như chỉ thị tiền xử lý C, nhãn câu lệnh C, không đề cập đến các dòng trống rõ ràng.