咨询vim-fsharp安装指令中“在vim目录执行make”的具体含义
解决vim-fsharp插件的管道破裂错误及安装目录疑问
我来帮你理清这个安装目录的疑问,同时解决你遇到的管道破裂错误——这大概率和你用sudo执行命令的权限问题有关:
关于安装目录的核心疑问
安装步骤里提到的**"Run make inside the vim directory"**,指的是插件自身的目录,也就是~/.vim/bundle/vim-fsharp,而不是全局的~/.vim目录。
正确的安装流程(基于Pathogen + Syntastic)
按照你的前置条件,正确操作应该是这样的(绝对不要用sudo执行make,这是你出错的关键原因):
- 先确认Pathogen和Syntastic已经正确配置(比如在你的
~/.vimrc里已经添加了execute pathogen#infect()这类加载Pathogen的代码) - 克隆插件到Pathogen的bundle目录:
git clone https://github.com/fsharp/vim-fsharp.git ~/.vim/bundle/vim-fsharp - 进入插件目录,以普通用户身份执行编译:
cd ~/.vim/bundle/vim-fsharp && make
为什么你会遇到管道破裂和函数错误?
你用sudo执行make,会导致插件生成的编译文件、Python绑定脚本等都属于root用户,而你平时用普通用户运行Vim时,没有权限访问这些文件,就会触发fsharpbinding#python#OnBufWritePre函数执行失败,进而出现管道破裂的错误——因为Vim没法和插件的后台进程建立合法的管道连接。
修复当前错误的步骤
- 先修复插件目录的权限,把所有权改回你的普通用户:
sudo chown -R $USER:$USER ~/.vim/bundle/vim-fsharp - 重新清理并编译插件:
cd ~/.vim/bundle/vim-fsharp && make clean && make - 重启Vim,尝试保存一个F#文件,验证错误是否消失。
如果还是有问题,可以检查你的~/.vimrc里有没有和fsharpbinding相关的冲突配置,或者确认你的F#编译器(fsc)已经正确安装并在系统PATH里。
内容的提问来源于stack exchange,提问作者avriis
相关产品推荐
相关产品推荐

