Добрый день,
Я пишу простой сценарий в своем файле BASHRC, чтобы учесть то, что я не смог решить в предыдущем вопросе:
Параллельное представление в Vim svn-diff для всего каталога
Я в основном генерирую список всех файлов, которые имеют статус «Измененный» SVN. Для каждого из этих файлов я хочу создать параллельный визуальный diff, преобразовать его в HTML, а затем добавить в работающий HTML-файл.
eg:
MODIFIED_FILES="$(svn status | grep "^M" | cut -c9-)"
for i in ${MODIFIED_FILES}; do
# Generate a side-by-side diff in vim via VIMDIFF
# Convert via ToHTML
# Append the HTML file to a file called "overall_diff.html"
done
Я могу достаточно легко выполнить vimdiff, создав чистую копию файла и имея копию измененного файла.
Сначала у vimdiff
возникла проблема, т.е.:
2 files to edit
Error detected while processing /Users/Owner/.vimrc:
line 45:
E474: Invalid argument: listchars=tab:>-,trail:.,extends:>,precedes:«
Press ENTER or type command to continue
Итак, я пытаюсь обойти это, чтобы мне не приходилось нажимать ENTER для каждого файла в моем списке.
Затем мне нужно, чтобы vimdiff
вызывал команду ToHTML
, а затем выполнял команду для добавления буфера HTML к работающему файлу:
:'<,'>w! >>overall_diff.html
Короче, как мне:
- Избавьтесь от этой проблемы с помощью
listchars
при вызовеvimdiff
. Эта проблема не возникает при запускеvim
, поэтому я не знаю, почему она возникает при запускеvimdiff
. - Передайте VIM список команд с двоеточием, чтобы он запускал их в
startup
, не требуя изменения моего файла.vimrc
.
vim -c
на справочных страницах - person FDinoff   schedule 23.05.2013set -vx
, чтобы увидеть результаты отладки оболочки? Какой-то другой персонаж закрался в вашу строку cmd? (Вы, наверное, знаете это, извините). Если вы возьмете тот же cmd, который сгенерирован вашим скриптом, и скопируете/вставьте в строку cmd, будет ли vimdiff жаловаться? Удачи. - person shellter   schedule 23.05.2013