我最近安装了Vim for Windows,我正试图从Linux上移植我的vimrc。
我需要做的vimrc中的bash脚本如下:
set nocompatible
source $VIM
behave mswin
let iCanHazVundle=1
let vundle_readme=expand('$VIM/bundle/vundle/README.md')
if !filereadable(vundle_readme)
echo "Installing Vundle..."
echo ""
silent !mkdir $VIM/bundle
silent !git clone https://github.com/gmarik/vundle $VIM/bundle/vundle
let iCanHazVundle=0
endif
" required for vundle
filetype off
set rtp+=$VIM/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
" required!
Bundle 'Rip-Rip/clang_complete
请注意,这基本上只是检查我的Vundle软件包是否已安装(基于是否存在自述文件),如果没有,则安装它们。我包含了第一个Bundle
调用,让您了解它是如何执行的。下面的代码和我原来的Linux脚本的唯一区别是我将所有条目替换为Linux文件系统:~/.vim
和$VIM
。当我在Windows Vim终端中运行:echo $ VIM时,它为我提供了正确的路径。该脚本运行,但它始终无法调用vundle#rc(),并且随后对所有Bundle
调用完全失败。请注意,我确实安装了msysGit。
修改 mkdir函数实际上正在工作,我的环境变量在控制台中键入了错误。此外,msysGit需要升级(失败原因不明。现在我遇到了问题:
Error detected while processing C:\Program Files (x86)\Vim\_vimrc:
line 58:
E117: Unknown function: vundle#rc
line 62:
E492: Not an editor command: Bundle 'Rip-Rip/clang_complete'
非常感谢任何建议!
答案 0 :(得分:1)
看来你遇到的主要问题是线路,
silent !mkdir $VIM/bundle
使用!
shell转义,这可以调用外部命令mkdir
。但是,Windows上不存在此命令(除非您已经安装了Cygwin或类似程序,并且GNU工具在您的路径中)并且silent
的使用意味着错误消息不会打印在屏幕上。
要在任何操作系统中创建目录,您可以使用Vim自带的内置mkdir()
功能。使用字符串连接(使用.
运算符)构建目录路径的以下命令应该有效:
call mkdir($VIM . "/bundle")
如果正确创建了目录,只要您在Windows git
中安装并git
{。}},就可以使用以下外部PATH
命令。