2010-07-30 37 views
5

Tôi hiện đang sử dụng vim làm trình soạn thảo của tôi để lập trình trong D. Các quy tắc thụt lề khá giống với C, nhưng tôi đã chạy vào trường hợp vim không xử lý theo mặc định. Trong D, các câu lệnh case có thể lấy các chuỗi không được xử lý đúng bởi cindent.Có thể sửa đổi các quy tắc cindent cho một trường hợp trong vim không?

Ví dụ, công trình này:

switch(blah) 
{ 
case 1: 
    // something 
case some_variable: 
    // ... 
} 

Nhưng không này:

switch(blah) 
{ 
    case "yark": 
     case "flurb": 
    // something 
    case "...": 
     // ... 
} 

Có một số cách để ghi đè lên rằng quy tắc duy nhất trong một tập tin thụt tùy chỉnh, hoặc toàn bộ cindent ruleset sẽ có để được thực hiện lại?

+0

Một thụt đầu dòng đó không phải là phù hợp với D là 'khác' cho một tĩnh nếu. –

Trả lời

4

Hãy thử Vim 7.3. Các quy tắc thụt lề được giới thiệu trong phiên bản này chủ yếu cho JavaScript cũng khắc phục tình trạng cụ thể này.

Với Vim 7.3 mã được thụt vào một cách chính xác như:

switch(blah) 
{ 
    case "yark": 
    case "flurb": 
     // something 
    case "...": 
     // ... 
} 
+0

Cảm ơn, điều đó đã hoạt động hoàn hảo! –

Các vấn đề liên quan