2012-04-14 23 views
8

thể trùng lặp:
Why is vim drawing underlines on the place of tabs and how to avoid this?VIM: Đừng gạch chân trắng hàng đầu trong HTML liên kết

Khi thụt mã PHP trong VIM 7.0 trên CentOS 5.x, các liên kết HTML được hiển thị nhấn mạnh . Điều này rất tiện dụng, nhưng ở một số nơi tôi đã thụt vào mã PHP trong HTML, và toàn bộ thụt đầu dòng được gạch chân:

  <li class="picture"> 
________________<a href="<?=$linkUrl?>"> 
____________________<img src="/<?=$img['source']?>" alt="Picture"/> 
____________________<? if ($someCondition): ?><span class="info"><?=$img['info']?></span><? endif; ?> 
________________</a> 
      </li> 

Có cách nào để nói với highlighter cú pháp để bỏ qua khoảng trắng dòng hàng đầu trong các liên kết HTML ?

Trả lời

10

tôi quản lý để đạt được điều này thông qua sửa đổi $VIMRUNTIME/syntax/html.vim. Tạo một bản sao để ~/.vim/syntax/html.vim (.vim được đặt tên vimfiles trên Windows), và thay thế định nghĩa cú pháp gốc

syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 [email protected],htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc 

như sau:

syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 keepend [email protected],htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc 
syn match htmlLinkText contained [email protected],htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc "^\s*\zs.\{-}\ze\s*$" 
syn match htmlLinkText contained [email protected],htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc "\S.\{-}\ze\s*$" 

Tiếp tục xuống, thay đổi

HtmlHiLink htmlLink     Underlined 

để

HtmlHiLink htmlLinkText    Underlined 

Thì đấy! Về cơ bản, điều này giới thiệu một nhóm cú pháp khác có chứa một nhóm cú pháp là htmlLinkText, không khớp với khoảng trống đầu và cuối, và áp dụng làm nổi bật cho nó.

+0

Cảm ơn bạn. Vì một số lý do, hiện tại không có liên kết nào được đánh dấu nhưng các thẻ H2 và P được đánh dấu! Tôi đã đi qua những thay đổi một cách cẩn thận, tôi dường như không thể tìm thấy chúng. Các chỉnh sửa là khoảng 150 và 253 [nếu bạn muốn xem qua] (http://pastebin.com/kDPAH7g7). Cảm ơn bạn Ingo! – dotancohen

+0

Chỉnh sửa của bạn là tốt và tệp của bạn hoạt động cho tôi. Bạn có bất kỳ định nghĩa othe nào, có thể trong tệp ~/.vim/after/syntax/không? –

+0

Không, không có tệp hoặc định nghĩa nào khác, tôi thậm chí đã thử với một ~/.vimrc trống (vì vậy không có hệ thống nào khác .vimrc sẽ bị cản trở). Đây là trong một thiết bị đầu cuối Cygwin SSHing vào một hộp CentOS 5.x, VIM 7.0. – dotancohen

7

Bạn có thể làm điều này:

:hi link htmlLink NONE 
+0

Xin cảm ơn, nhưng điều đó vô hiệu hóa tất cả các liên kết nổi bật, điều tôi thấy hữu ích. Tôi đang tìm cách vô hiệu hóa đánh dấu chỉ trên khoảng trắng hàng đầu. – dotancohen

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