2016-12-02 21 views
14

Tôi vừa tải xuống phiên bản 8.0 8.0. Tôi không biết nếu tôi sai lầm cái gì đó lên hoặc mặc định thay đổi, nhưng trong mã này ...Tắt cú pháp vim làm nổi bật bên trong chú thích C++

int foo() 
{ 
    // This is a comment containing a "string" and the number 5. 
    return 42; 
} 

... các "string"5 đang ở trong một màu khác nhau. Nó có màu giống như khi chúng xuất hiện trong mã bình thường. Tôi chưa bao giờ thấy điều đó trước đây. Làm thế nào tôi có thể tắt nó?

Trả lời

14

Điều này khó tìm kiếm bất thường, nhưng câu trả lời nằm trong các tệp trợ giúp của vim. Đó là một tính năng của cú pháp tô sáng cho mã C và C++ đi kèm với vim. Từ :h ft-c-syntax:

Một vài điều trong việc đánh dấu C là tùy chọn. Để cho phép họ gán bất kỳ giá trị nào cho biến tương ứng. Ví dụ:
:let c_comment_strings = 1
Để tắt chúng, hãy sử dụng ": unlet". Ví dụ:
:unlet c_comment_strings

Các c_comment_strings điều khiển biến làm nổi bật các chuỗi, ký tự, và số bên trong của bình luận. Nó phải được kích hoạt ở đâu đó trong thiết lập của tôi. Nếu tôi :unlet, tất cả các nhận xét sẽ được đánh dấu một lần nữa.

+0

Tìm thấy nó. 'c_comment_strings' được đặt trong' $ VIMRUNTIME/defaults.vim'. Tôi đã tìm nguồn cung ứng 'vimrc_example.vim' bao gồm các giá trị mặc định. –

3

Vâng, tôi hiểu tự trả lời, nhưng tôi đặc biệt khuyên mọi người nên nghiêm túc về việc sử dụng Vim như một công cụ mã hóa C++ để xem xét plugin vim color_coded. Không có cách nào có thể đạt được colorizing thỏa đáng với lược đồ dựa trên refgexp đơn giản. Trong khi không phải không có vấn đề, plugin này (theo quan điểm của tôi) là gần nhất vì nó được làm đúng màu trong Vim.

+1

Tôi đồng ý với ý kiến ​​* này * nhưng đó là những gì nó được. – rici

+0

@rici, nó không phải là một ý kiến. Việc đánh dấu C++ thỏa đáng mà không có phân tích cú pháp mã C++ đúng là không thể đạt được. – SergeyA

-1

Nếu tôi hiểu chính xác, bạn chỉ muốn tắt làm nổi bật cú pháp.

:syntax disable 

Nếu bạn không phải gốc và đặt không tương thích, bạn có thể nhận xét nó ở dòng cuối cùng (xem 'h: modeline').

// vi:syntax disable: 

Mỗi khi bạn mở nó làm người dùng không phải root, lệnh sẽ có hiệu lực.

+0

Tôi không muốn tắt tất cả đánh dấu cú pháp, chỉ một tính năng để làm nổi bật chuỗi và số bên trong nhận xét. –

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