Tôi đang tạo một tệp cú pháp tùy chỉnh cho vim và để làm cho mã dễ đọc hơn, tôi muốn nói với vim cách tự động nhập mã. Ngay bây giờ, tôi thường tái-indent gg=G''
trong vim chỉ được thoát khỏi tất cả các khoảng trắng ở đầu mỗi dòng:Tạo cú pháp vim tùy chỉnh: Tôi có thể đặt các quy tắc tự động thụt lề tùy chỉnh không?
IF (@("X_17") = "X") THEN
*Make sure only one is selected
countX = 0;
IF (@("X_19") = "X") THEN
countX += 1;
END
IF (@("X_20") = "X") THEN
countX += 1;
END
IF (@("X_21") = "X") THEN
countX += 1;
END
...
Tôi muốn thiết lập nó để bình luận (bắt đầu có dấu *) không thụt vào ở tất cả (không có khoảng trống ở đầu dòng), nhưng phần còn lại được thụt vào dựa trên IF và END. Cùng mã, thụt vào đúng (giả thậm chí IF đầu tiên là trong vòng một lớn hơn NẾU/block END):
IF (@("X_17") = "X") THEN
*Make sure only one is selected
countX = 0;
IF (@("X_19") = "X") THEN
countX += 1;
END
IF (@("X_20") = "X") THEN
countX += 1;
END
IF (@("X_21") = "X") THEN
countX += 1;
END
...
Tôi có cú pháp higlighting thiết lập, và từ khóa và chức năng built-in đã là một phần của một dal .vim. Đây là dal.vim hiện tại:
Có cách nào để thay đổi những gì tôi có mã mà sẽ tự động thụt lề trong khối/END IF, trong khi vẫn giữ tất cả các ý kiến không có khoảng trắng ở đầu ?
Câu hỏi thưởng: Làm cách nào tôi có thể thiết lập mã gấp để theo dõi các khối IF/END đó? Ngay bây giờ tôi đang làm zf2j
để gấp mã này.
Nhận xét không có từ chối là một lựa chọn rất lạ. Tôi sẽ không bao giờ thích nó vì nó phá vỡ đọc mã, trừ khi tôi không có các biến thể khác, tất nhiên. – ZyX
Tôi đồng ý hoàn toàn, nhưng đó không phải là lựa chọn của tôi. Kịch bản Dal phàn nàn nếu nhận xét được thụt lề. – maccam912