11 Dec 2016 | 软件
自去年年末入坑linux,接触shell后,虽觉bash比windows自带的命令提示符要好太多,却终究还是太难看。后来换过zsh,有了github上有人做的 oh-my-zsh 的配置,zsh无疑极漂亮,并且自动补全功能极其强大。然而最后还是选择是fish,即 friendly interactive shell。可想而知fish极其用户友好。github上有人仿照zsh做了一个 oh-my-fish,配置也很方便。界面美是自然,让我选择fish而不是zsh的最大原因是fish是自动补全是自动的,自动弹出历史命令,而不需要按 tab 。
然而由于fish与bash不兼容,所以有些命令不一样,造成一些不便,我接触到影响最大的一个就是环境变量的设置。
在bash中只需修改~/.bashrc或修改 /etc/profile ,在fish中修改.bashrc 当然是没用的,fish中有~/.config/fish/config.fish ,网上一般的教程是说修改这个文件,格式为
set -x PATH your_path
然而经测试,修改后开启fish会报错。可能与 oh-my-fish 有关。于是想修改 /etc/profile ,然而修改完 source /etc/profile 时显示没有那个文件或目录,用超级用户权限时输入密码时则显示密码错误。于是转回bash后source,再返回去,此时可以使用环境变量,然而重启后又会失效。
后来查阅资料找到一个有效的方法,即在命令行输入
set -U fish_user-Paths $fish_user_paths your_path
其中 -U 为永久生效的意思。
对于一个vim党,vim 的美化与插件当然很重要,于是有了vundle这个神器。安装vundle后只要在~/.vimrc中加上你想要安装的插件,在vim 中输入 :PluginInstall 即可自动安装。然而在下安装时一直失败,各种error,显示无法打开/tmp/balabala 文件。后来发现是fish的问题。据说在bash和zsh中是可以的。
只要在 .vimrc 第一行加
set shell=/bin/bash
即可。