Màu nền khác nhau cho nhiều kiểu tệp trong vim


10

Có thể có các màu nền khác nhau trong vim (tức là một ánh sáng, một màu tối) khi xử lý các tệp có nhiều kiểu tệp (ví dụ. :set ft=html.php)? Trong mã PHP được nhúng HTML, có thể khó thấy một câu lệnh PHP duy nhất trong số hàng chục dòng HTML, xem bên dưới. Tôi sẽ giải quyết mọi thứ, có thể là màu bg khác nhau, điểm đánh dấu ở lề, lề trái thứ hai (một plugin vim làm điều này để đánh dấu), <?phpví dụ có thể làm nổi bật thẻ (mặc dù điều đó ít hơn lý tưởng)

PHP bằng mã HTML

EDIT: Tôi không nghĩ điều này là có thể ở cấp độ cú pháp vì cú pháp dường như sử dụng một số phần tử giới hạn (Chuỗi, Hàm, Mã định danh ...). Điều này là không có nghi ngờ để cho phép tích hợp dễ dàng với màu sắc. SyntaxAttr là một plugin tốt để chứng minh điều này. Đặt nó trên bất kỳ phần nào của mã và nó sẽ cho bạn biết nó thuộc nhóm cú pháp nào.


Có thể bạn có thể sử dụng cùng một giải pháp như trong bài đăng này stackoverflow.com/questions/4167425/ , nơi họ tạo ra một bảng màu tùy chỉnh làm nổi bật bất kỳ chuỗi nào bắt đầu bằng sql_.

1
Tôi sẽ xem liệu tôi có thể làm cho nó phát hiện các khu vực giữa ?><?không phải là PHP không.
puk

Câu trả lời:


1

Một giải pháp tiềm năng khác là tùy chỉnh tệp màu yêu thích của bạn để kiểm tra cài đặt 'nền'. Nhiều người đặt cài đặt 'nền' theo cách này hay cách khác, nhưng nó có thể được kiểm tra để thay đổi màu sắc nổi bật sẽ là gì.

Màu sắc ví dụ


" Search
if &background=="dark"
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
else " background is light
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
fi


Có cách nào để kiểm tra ngôn ngữ của một từ / ký tự không? tức là nếu đó là HTML v PHP?
puk

Sắp xếp phụ thuộc. Bạn có thể kiểm tra loại hightlighting cho một từ cụ thể. Và nếu nó có thể phân biệt giữa HTML và PHP, bạn sẽ biết. Nhưng tôi nghĩ đó là điều tốt nhất bạn sẽ nhận được mà không cần phải làm thêm. Sử dụng một cái gì đó như sau để có được loại tô sáng :: echo synIDattr (synID (line ("."), Col ("."), 1), "name")
pottsdl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.