Tôi có một tệp cú pháp Vim rất đơn giản cho các ghi chú cá nhân. Tôi muốn làm nổi bật tên của mọi người và tôi đã chọn một cú pháp giống như Twitter @jonathan
.Làm cách nào để đánh dấu các từ bắt đầu bằng cú pháp @ trong Vim?
tôi đã cố gắng:
syntax match notesPerson "\<@\S\+"
Để có nghĩa là: từ bắt đầu bằng @
và có ít nhất một nhân vật phi khoảng trắng. Vấn đề là @
dường như là một ký tự đặc biệt trong biểu thức chính quy Vim.
Tôi đã cố gắng thoát khỏi \@
và đính kèm trong ngoặc đơn [@]
, các thủ thuật thông thường, nhưng điều đó không hiệu quả. Tôi có thể thử một cái gì đó như (^|\s)
(đầu dòng hoặc khoảng trắng) nhưng đó chính xác là vấn đề mà ranh giới từ cố gắng giải quyết.
Làm nổi bật trên các biểu thức chính quy được đơn giản hóa, do đó, đây là câu hỏi tìm kiếm đúng regex hơn bất kỳ điều gì khác. Tôi đang thiếu gì?
Tại sao bạn đã thoát khỏi '+' trong '\ S \ +'? Hãy thử '@ \ S +' hoặc '\ @ \ S +', nếu '@' được coi là ký tự đặc biệt trong 'vim'. Tôi không biết về điều đó. –
@RohitJain Vì cú pháp vim bắt nguồn từ BRE. Nó phải được trốn thoát để trở nên đặc biệt. – ZyX
@ZyX .. Oh! Tôi không biết điều đó. Cảm ơn :) –