我希望将我的Mac,Windows和Linux vim配置文件存储在git中.在*nix系统上,您的vim配置文件位于$ {HOME} /.vim中,但对于Windows二进制文件,同一目录名为"vimfiles"我是否可以配置git以容纳不同的目录名称?
我使用gvim来存储我将执行的命令的配方,具体取决于输出.目前,我在gvim中选择文本并将命令粘贴到终端控制台中,但我敢打赌,我可以通过视觉选择的范围将其传递到命令行中以便执行.
在Win7下运行gVim的本机编译时,我的vimrc中有以下内容:
if has ("win32")
let $TMP="C:/tmp"
setlocal equalprg=tidy\ --output-xhtml\ y\ -utf8\ --wrap-attributes\ 1\ --vertical-space\ 1\ --indent\ auto\ --wrap\ 0\ --show-body-only\ auto\ --preserve-entities\ 1\ -q\ -f\ shellpipe=2>
endif
Run Code Online (Sandbox Code Playgroud)
这应该创建一个临时文件.但是,运行命令后,我看到:
shell returned 1
E485: Can't read file C:\tmp\VIoC935.tmp
Run Code Online (Sandbox Code Playgroud)
本机Windows E485错误的常见建议是设置tmp变量,我可以从我的vimrc片段中看到.如果我删除let语句,我会得到类似的结果:
shell returned 1
E485: Can't read file C:\Users\ksk\AppData\Local\Temp\VIfFA01.tmp
Run Code Online (Sandbox Code Playgroud)
在这两种情况下; 两个目录都存在,gVim可以将文件写入这些位置,即
:w C:\Users\ksk\AppData\Local\Temp\VIfFA01.tmp
Run Code Online (Sandbox Code Playgroud)
在当前缓冲区中将写入此文件而不会出错.
有趣的是,在写这篇文章时,我发现如果我创建一个新的缓冲区并删除原始缓冲区,那么equalprg函数运行时没有错误(在vimrc中有和没有"let"语句)