Я выполняю некоторые текстовые файлы, записанные в Скидке с цены через Pandoc для получения HTML, но это представляет теги странно со странными разрывами строки и пробелом в тегах, таким образом, я выполнял несколько команд sed в VIM.
Я должен смотреть на Vimscripts или в макросах? Или сценарий оболочки (если я хочу объединить команды VIM с командой Pandoc оболочки)?
Я выполняю gVIM в Windows 7, и я выполняю Pandoc через обычный Windows cmd оболочка, хотя я обычно делаю это из VIM.
Я думаю, что это зависит от того, где большая часть обработки файла и принятия решений делаются и на средствах сценариев, доступных Вам за пределами Vim. Так как большая часть обработки, которую Вы делаете, кажется, выполняет последовательность программ, возможно, в конвейере, я был бы склонен поместить все это в сценарий оболочки или пакетный файл и запуск это от Vim. (Вы записали использование sed. У Вас есть доступ к оболочке Unix также?), Если у Вас нет доступа к оболочке Unix и Вы находите себя ограниченными набором команд пакетного файла, затем Вы могли поместить все команды в функцию Vim. Помещение команд в функцию Vim дает Вам немного больше гибкости и более легкого программирования, чем попытка заключить все в кавычки просто прямо для команды Vim или отображения.
Можно поместить команды оболочки в функциях довольно легко как это
function Foo()
!echo "hello"
endfunction
или это:
function Bar()
call system('echo "hello"')
endfunction
Посмотрите
:help usr_41.txt
и особенно
:help 41.6
:help 41.7
а также
:help system()
для больше на этом. Для больше на командах и отображениях, посмотрите
:help usr_40.txt
Можно записать команду для вызывания функции как это:
:command Foo call Foo()
так, чтобы можно было выполнить функцию с
:Foo
ed
довольно легко к сценарию с.
printf "%s\n" "%s/$/...end/" "g/delete.this.line/d" w q | ed filename