我用 zsh+oh-my-zsh, 发现对 gcc 参数的补全不太智能:
例如,gcc -std
按 tab 后不能出现对应的值,但用 bash+bashcomplete 可以出来。
是不是需要开启 oh-my-zsh 的对 gcc 的某个插件?
另外再报告一个:
用 zypper in 的时候,tab 无法补全文件名,亲测 bash 可以。
我用 zsh+oh-my-zsh, 发现对 gcc 参数的补全不太智能:
例如,gcc -std
按 tab 后不能出现对应的值,但用 bash+bashcomplete 可以出来。
是不是需要开启 oh-my-zsh 的对 gcc 的某个插件?
另外再报告一个:
用 zypper in 的时候,tab 无法补全文件名,亲测 bash 可以。
zsh 的补全可以自己定义的吧,虽然我不会。gcc -std 确实无法补全。。。。。不太懂 gcc,搜了一遍 man 和 info 没发现什么参数是 -std 开头的。。。。zsh 可以补全 gcc 的参数有两百多个,我觉得应该满足一般需求吧。
zypper in 为什么会要补全文件名呢。。。。本地安装么?可以补全很多参数,我觉得这就足够了。对于一些一般后面不接文件名 / 目录名的命令 zsh 不会补全文件名,这应该是他智能的地方,貌似是有意设计的。你可以用 date 命令试一下。bash 是不管三七二十一都补全出 date file 这样的东西,zsh 就不会。
gcc -std=c90,c99,c11
这几个是比较常见的选项。
zypper in 的话确实有时需要安装本地 rpm 文件,我发现这样可以更好的利用 yast 安装模式,缺少的库自己下,直接 rpm 的话容易出现找不到共享库等等错误。
参考一下 wiki 吧。SDB:Zsh - openSUSE
链接里好像有一篇自定义补全规则的,没有仔细看。
你是本地打包自己安装么(不会,本地打包缺少库你也 build 不过)。。。如果不是还不是要从网上下载。openSUSE 的软件包基本都在 OBS 直接加源下不是更好。。。。而且 OBS 里的软件不会出现找不懂共享库这种错误吧,安装肯定是可以成功的。一些 home 源的软件少写了依赖关系下载了打不开倒是有可能。
表示用源安装软件从来没有发现过会找不到共享库的问题。可以问一下你装的什么软件?
要安装本地可以绑定 rpm 文件自动使用 zypper in 执行。
alias -s rpm=“sudo zypper in"
然后你只要输入目录下的 rpm 包文件名(这个可以自动补全)然后回车就可以了。
谢谢回复的这么详细啊。
我遇到过两次 rpm 安装报错:
一次是金山快盘的 rpm 包(官方只有 deb,我用 alien 转过);
另一次是 wps office 的安装包。
两种情况下用 zypper in 安装都可以解决。
wps office OBS 里是有的。http://software.opensuse.org/package/wps-office?search_term=wps-office
可以一键安装。直接一键安装不会有什么问题。
用 alien 转的那情况就未知了。不知道 OBS 里有没有。