Mac 系统大版本的升级总是会引来一些灾难,这次升级到 macOS Mojave 就有很多软件都用不了了,Vim 就是其中一个。
1 | Vim: Caught deadly signal SEGV |
这不,每次启动都报这个错误,然后闪退程序。这就很尴尬了,我现在的开发工作都是在 Vim 中进行,用不了可咋整,网上的说法是因为 YouCompleteMe 插件导致的,需要重新安装 Vim 并使之支持 lua。
我使用 vim --version
查看,发现果然当前不支持
1 | $ vim --version |
按照网上教程安装
1 | $ brew install vim --with-lua --with-override-system-vi |
结果报错,无效的参数???但是翻遍了 Google 给出的都是这个教程,继续搜索,发现现在新版本的 brew 认为 --
会让使用者困惑,所以慢慢去掉了这些参数,去的真及时,那你倒是把新的方法贴出来啊。
我只能暂时退而求其次把 YouCompleteMe 插件删掉好了,结果果然正常了,反正是能用了,就是补全功能差劲点,别扭点就别扭点吧,还要工作呢。
勉强用了一天,觉得还是不行,已经被 YouCompleteMe 惯出毛病了,转了一圈,发现只输入点后自动提示补全和写入文字自动补全时忽略大小写这两点,就没有一个插件可以代替,无奈还是要想办法解决这个问题。
既然 brew 不能带这些参数,那去掉试试好了。
1 | $ brew install vim |
再次运行 vim
还是不行,我试着查看了下 vim 的位置
1 | $ which vim |
隐约觉得事情不太对,通常 brew 安装的软件二进制文件是在 /usr/local/bin
中的,查看了下发现果然没有链接过去,再次链接
1 | $ sudo chown $(whoami):wheel /usr/local/share/man/de/man1 |
再次查看
1 | $ which vim |
还是不行,查看环境变量发现 $PATH
中,/usr/bin
靠后,会覆盖的 /usr/local/bin
中的命令,再次调整
1 | $ vim .bash_profile |
再次查看
1 | $ which vim |
搞定,查看版本
1 | $ vim --version |
好像有戏了,我怀着忐忑的心情,再次安装上 YouCompleteMe,打开 Vim,一切正常。
有些时候就是这样,事情总会得到解决,我们可以逃避过去,也可以休息一下,然后重新挑战。