[英]Translating a vimrc to Windows
我最近为 Windows 安装了 Vim,我正在尝试从 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 脚本的唯一区别是我用$VIM
替换了 Linux 文件系统的所有条目: ~/.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'
任何建议都非常感谢!
看来你的主要问题是线路,
silent !mkdir $VIM/bundle
使用!
shell 逃逸,这厌倦了调用外部命令mkdir
。 但是,此命令在 Windows 上不存在(除非您已经安装了 Cygwin 或类似工具并且 GNU 工具在您的路径中)并且使用silent
意味着不会在屏幕上打印错误消息。
要在任何操作系统中创建目录,您可以使用 Vim 自己的内置mkdir()
函数。 以下使用字符串连接(使用.
运算符)来构建目录路径的命令应该可以工作:
call mkdir($VIM . "/bundle")
如果目录创建正确,那么只要您安装了git
并且在 Windows PATH
可用,以下外部git
命令就应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.