Tôi muốn viết một hàm trong vimscript tìm thấy dấu ngoặc đơn hoặc dấu ngoặc mở cuối cùng trong một dòng. Đây không hẳn là một vấn đề dễ dàng, bởi vì nó cần để có thể xử lý tất cả các nội dung sau:Vimscript: tìm parenthese mở cuối cùng hoặc khung
function(abc
function(abc, [def
function(abc, [def], "string("
function(abc, [def], "string(", ghi(
Như bạn thấy, lồng ngoặc, biểu tượng khác nhau, và chuỗi mã thông báo tất cả cần phải được xử lý một cách thông minh. Điều này thậm chí có thể? Có các công cụ với các regexes vimscript để thực hiện các tìm kiếm theo ngữ cảnh có biết sự khác biệt giữa các dấu ngoặc đơn và dấu ngoặc đơn không khép kín trong các chuỗi không?
Cho rằng bạn có thể làm nổi bật cú pháp khung không cân bằng, bạn có thể tìm thấy dấu ngoặc đơn/dấu ngoặc đơn cuối cùng trên một dòng. Điều này có thể giải quyết như thế nào?
Một nửa cặp dấu ngoặc đơn được gọi là dấu ngoặc đơn. –
Nếu ý định là để giúp làm nổi bật, hãy lưu ý câu hỏi và câu trả lời tại đây: http://superuser.com/questions/545278/how-to-have-vim-show-unclosed-parenthesis. Plugin 'vim-matchopen' làm nổi bật dấu ngoặc đơn, khung và dấu ngoặc đơn cuối cùng liên quan đến con trỏ (cho dù đã đóng hay chưa được đóng). –