如何在Vim中启用'gx'?我的工作不再适用

时间:2015-12-23 05:01:35

标签: vim vim-plugin netrw

我试过擦拭我的.vimrc,卸载所有插件,更新Vim,尝试不同的shell等等但是我绝对不能让'gx'来处理给定的URL。我以前使用它并且它工作正常,它甚至用于打开我的finder目录,如果我在空白线上。我尝试在众多网址上运行“gx”,在它们之上,在它们下方,最后添加“/”等等。仍然没有运气。我只是在我的智慧结束时试图弄清楚为什么它在使用时不再有效。有时它会在空白缓冲区中打开一个URL,缓冲区名称等于URL,有时则没有任何反应。如果有人知道这个愚蠢的事情到底发生了什么,我将不胜感激。

我使用最新版本的OS X并拥有最新版本的Vim。

更新

我找到了这个问题的答案,但仍然不太清楚为什么它有效,而我的原始方法没有。

原创方法

我安装了iTerm2并被迫设置了首选项>个人资料>常规>命令>命令> /usr/local/bin/zsh -l。即使我运行$ chsh -s /usr/local/bin/zsh并将/usr/local/bin/zsh添加到/etc/shells,我也无法获得>个人资料>常规>命令>登录(单选按钮)。

我会在终端中收到错误消息,或者窗口只会闪烁并在iTerm中消失。但是,在我的脑海中运行我的配置文件命令/usr/local/bin/zsh -l应该强制shell以登录模式运行(与我的默认模式相同)但是它导致了vim中的主要问题,我无法获得任何shell命令或功能依赖shell命令工作(例如:!lsgx)。

ANSWER

此外,我终于设法在运行chsh -s /bin/bash后完成所有工作(例如恢复默认设置)。突然间,我能够使用单选按钮登录终端和iTerm进行登录检查,我的所有问题都消失了。应该注意的是,我尝试chsh -s /usr/local/bin/zsh并收到我第一次没有收到的错误 - 关于非标准登录shell的内容。

这不够好,因为我真的想使用我的Homebrew zsh(和bash)shell,因为它们更新。最后,我找到了答案,我运行sudo dscl . change /users/$USER UserShell /bin/bash /opt/local/bin/zsh然后我就可以选中“登录”单选按钮,并且第一次实际使用-zsh而没有任何问题。

现在有更多问题

我现在的问题是:1。)为什么我的原始配置文件命令/usr/local/bin/zsh -l不像我的默认登录shell那样工作?它们不是一样的(例如登录shell是登录shell)吗? 2.)如果我用/etc/shells更新/usr/local/bin/zsh,为什么我会收到“非标准shell错误”? 3.)我在dscl上阅读了MAN页面,但是当chsh -s /new/shell/path不起作用时,我不明白它实际上是如何改变我的登录shell的? 4.)ANYBODY真的知道这里发生了什么事吗?!

如果您是主持人,请告诉我是否应将这些问题分解为不同的帖子,但这是一个大问题,我无法相信我是唯一一个遇到此问题的人,因为我无法找到任何Q&因为这彻底解释了发生了什么。提前谢谢大家的帮助!

2 个答案:

答案 0 :(得分:0)

我在OS X上并在vim中运行以下命令为我工作:

{{1}}

另请参阅Fedora的this similar answer

{{1}}

答案 1 :(得分:0)

我遇到了完全相同的问题,最终通过这个小而有效的插件解决了(+相当多的奖励):

https://github.com/stsewd/gx-extended.vim

添加了对部分 URL、markdown URL、“插件”-> github 路径等的支持。它的表现比 netrw 好得多。