2013-04-23 11 views

Odpowiedz

14

Możesz użyć do tego mojego SyntaxRange plugin.

Albo jednoznacznie przypisz zakres, np.

:10,20SyntaxInclude bnf 

lub automatycznie na podstawie wzorców szyderczymi:

:call SyntaxRange#Include('<BNF>', '</BNF>', 'bnf') 
+0

dla '.vimrc': 'autocmd Składnia * jeśli istnieje (" b: current_syntax ") | wywołaj SyntaxRange # Include ('BNF {{{', '}}}', 'bnf') '- Zmieniłem' ... 'na' BNF {{{...}}} ', aby go łatwo złożyć . –

+0

Dziękujemy za udostępnienie rzeczywistego rozwiązania. Dlaczego sprawdzasz 'b: current_syntax'? –

+0

Jeśli nie, wypisuje 'Funkcja obsługi błędów SyntaxRange # Include..SyntaxRange # IncludeEx: linia 32: E108: Brak takiej zmiennej:" b: current_syntax "' gdy wykonuję ': help'. Może powinienem użyć innego zdarzenia autocmd? –

1

dla wielu typów plików Vim użyje nazwy heredoc jako wskazówkę. Na przykład w plikach php Jestem tu często tworząc w ten sposób dokumenty:

<?php 

$my_html = <<<html 
<h1>Solar</h1> 
<p>Is <em>good</em></p> 
html; 

$my_js = <<<javascript 
alert('yeah baby'); 
javascript; 

$my_sql = <<<sql 
SELECT user 
FROM mytable 
WHERE energy = 'solar'; 
sql; 

działa pięknie, tylko problemem jest, że wcięcie jest problematyczne (znacznik zamykający nie może mieć poprzedzających spacji)

+0

nie mógł tego zrobić. – oligofren

Powiązane problemy