您好,
我正在编写一个简单的脚本,放在我的BASHRC文件中,以解决我之前提出的一个问题:
我基本上生成了所有具有“修改”SVN状态的文件列表。 对于这些文件中的每一个,我想创建一个并排的可视差异,并将其转换为HTML,然后将其附加到正在运行的HTML文件中。
例如:
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
简单来说,我该如何:
- 解决在调用
vimdiff
时出现listchars
问题。当我运行vim
时,这个问题不会出现,所以我不知道为什么在运行vimdiff
时会出现。 - 向VIM传递一个冒号命令列表,使其在
启动
时运行,而无需更改我的.vimrc
文件。
vim -c
。 - FDinoffset -vx
以查看shell调试输出?是否有其他字符混入了你的命令行中?(你可能已经知道了,抱歉)。如果你将脚本生成的相同命令复制/粘贴到命令行中,vimdiff是否仍然会报错?祝你好运。 - shellter