VIM: индексированные нулем Номера строки в: определите номер

Когда браузеры рассматривают разметку как XML:

<script>
<![CDATA[
    ...code...
]]>
</script>

, Когда браузеры рассматривают разметку как HTML:

<script>
    ...code...
</script>

, Когда браузеры рассматривают разметку как HTML и Вы хотите, чтобы Ваша разметка XHTML 1.0 (например), проверила.

<script>
//<![CDATA[
    ...code...
//]]>
</script>
11
задан Arafangion 24 July 2009 в 08:45
поделиться

2 ответа

Я не думаю, что это возможно; однако, предполагая, что вывод вашего внешнего инструмента представляет собой просто текст, вероятно, будет довольно легко отфильтровать вывод так, чтобы нумерация была индексирована 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
4
ответ дан 3 December 2019 в 11:04
поделиться

Я предлагаю обернуть ваш инструмент в небольшой скрипт. В сценарии либо скопируйте исходный код и добавьте пустую строку вверху источника , либо используйте awk , чтобы исправить вывод (проанализируйте сообщения об ошибках и добавьте 1).

Единственный способ заставить vim отображать номера строк, начинающиеся с 0, - это исправить источник и создать новую опцию (скажем, lno для смещения номера строки) и добавить это значение к номер строки. Вам нужно будет исправить это во многих местах (отображение, команды перехода, шаблоны поиска и т. Д.). Не должно потребоваться больше одного или двух лет, чтобы заставить его работать :) Удачи, убедив автора Vim принять это как патч.

3
ответ дан 3 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: