Когда браузеры рассматривают разметку как XML:
<script>
<![CDATA[
...code...
]]>
</script>
, Когда браузеры рассматривают разметку как HTML:
<script>
...code...
</script>
, Когда браузеры рассматривают разметку как HTML и Вы хотите, чтобы Ваша разметка XHTML 1.0 (например), проверила.
<script>
//<![CDATA[
...code...
//]]>
</script>
Я не думаю, что это возможно; однако, предполагая, что вывод вашего внешнего инструмента представляет собой просто текст, вероятно, будет довольно легко отфильтровать вывод так, чтобы нумерация была индексирована 1 для соответствия Vim. Можете ли вы привести пример своего вывода?
Edit
В качестве альтернативы, если вы вызываете внешнюю команду из Vim, вы можете сделать что-то вроде (в основном, добавить пустую строку, запустить внешнюю команду, а затем удалить пустую line):
command! RunMyExternalProgramme call RunMyExternalProgramme()
func! RunMyExternalProgramme()
" Save the old setting of makeprg
let s:savedMakePrg = &makeprg
" Save the screen layout
let s:savedView = winsaveview()
if config_file != ''
" Put a blank line at the start of the file
:1put! =''
" Save
write
" Change makeprg and run it
let &makeprg = '/path/to/programme -options etc'
make
" Delete the blank line
1d
" Save
write
endif
" Restore the screen layout (optional)
call winrestview(s:savedView)
" Restore the old setting of 'makeprg'
let &makeprg = s:savedMakePrg
endfunc
Я предлагаю обернуть ваш инструмент в небольшой скрипт. В сценарии либо скопируйте исходный код и добавьте пустую строку вверху источника , либо используйте awk
, чтобы исправить вывод (проанализируйте сообщения об ошибках и добавьте 1).
Единственный способ заставить vim
отображать номера строк, начинающиеся с 0, - это исправить источник и создать новую опцию (скажем, lno
для смещения номера строки) и добавить это значение к номер строки. Вам нужно будет исправить это во многих местах (отображение, команды перехода, шаблоны поиска и т. Д.). Не должно потребоваться больше одного или двух лет, чтобы заставить его работать :) Удачи, убедив автора Vim принять это как патч.