2012-01-24 35 views
9

Tôi đặt phương pháp gấp nếp của vim thành thụt lề hoạt động rất tốt khi viết Python ngoại trừ khi tôi có dòng chú thích. Ví dụ: nếu tôi có mã bit này:Làm cách nào để sửa vim thành các nếp gấp thụt lề có chứa các dòng chú thích Python?

def myFunction(): 
    # here is my comment 
    myString = "hello" 
    myInt = 2 

Nếu tôi có con trỏ trên dòng nhận xét và nhập "za", tôi gặp lỗi "E490: No fold found". Nếu tôi có con trỏ trên dòng bắt đầu bằng "myString =" Tôi sẽ geta gấp như thế này:

def myFunction(): 
    # here is my comment 
+--- 2 lines: myString = "hello" ------------------------- 

Trong cả hai trường hợp tôi muốn để có được lần này:

def myFunction(): 
+--- 3 lines: # here is my comment ------------------------- 

Về cơ bản các dòng chú thích nên được đối xử như bất cứ điều gì khác. Tôi đã không đưa ra câu trả lời từ việc tìm kiếm trên web. Bất kỳ ý tưởng? Cảm ơn!

Trả lời

14

Bạn phải đặt gấp nếp thành không có gì.

:set foldignore= 

Từ :help foldignore:

'foldignore' 'fdi' string (default: "#") 

    Used only when 'foldmethod' is "indent". Lines starting with 
    characters in 'foldignore' will get their fold level from surrounding 
    lines. White space is skipped before checking for this character. 
    The default "#" works well for C programs. See |fold-indent|. 
3

Từ :help fold-indent:

Một số dòng được bỏ qua và nhận được mức độ gấp của dòng trên hoặc dưới nó, bất cứ điều gì là thấp nhất. Đây là những dòng và dòng trống hoặc trắng bắt đầu từ với một ký tự trong 'foldignore'. Không gian trắng bị bỏ qua trước khi kiểm tra ký tự trong 'foldignore'. Đối với C, hãy sử dụng "#" để bỏ qua các dòng tiền xử lý.

Ít nhất trong vim, foldignore được đặt thành ký tự '#'. Đặt nó thành trống, với một lệnh như

:set foldignore= 

để có các dòng đó được bao gồm trong màn hình đầu tiên.

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