fireholder.github.io

伪文艺女青年,状高冷,话少爱热闹


Blog | Archive | About

入坑fish的几个问题解决

11 Dec 2016 | 软件

人生苦短,快用fish

自去年年末入坑linux,接触shell后,虽觉bash比windows自带的命令提示符要好太多,却终究还是太难看。后来换过zsh,有了github上有人做的 oh-my-zsh 的配置,zsh无疑极漂亮,并且自动补全功能极其强大。然而最后还是选择是fish,即 friendly interactive shell。可想而知fish极其用户友好。github上有人仿照zsh做了一个 oh-my-fish,配置也很方便。界面美是自然,让我选择fish而不是zsh的最大原因是fish是自动补全是自动的,自动弹出历史命令,而不需要按 tab 。

Problem Solve 之fish环境变量设置

然而由于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 为永久生效的意思。

Problem Solve 之 vundle插件安装

对于一个vim党,vim 的美化与插件当然很重要,于是有了vundle这个神器。安装vundle后只要在~/.vimrc中加上你想要安装的插件,在vim 中输入 :PluginInstall 即可自动安装。然而在下安装时一直失败,各种error,显示无法打开/tmp/balabala 文件。后来发现是fish的问题。据说在bash和zsh中是可以的。

只要在 .vimrc 第一行加


set shell=/bin/bash

即可。

comments powered by Disqus

Older · View Archive (56)

2016年全国大学生生物医学工程创新设计竞赛

Newer

自动生成MakeFile

linux党想必都见过MakeFile,在我们安装软件的时候,有时候只要解压缩 tar.gz 文件,执行 ./configure ,再执行 make ,make install即可安装软件。那么MakeFile到底是个什么东西,实际上是把我们的编译命令都写在了一个文件里。一般我们写个几十行小代码的时候不这么干,而是直接用命令,因为这样很烦…今天看 《Vim 实用技巧》时看到一个 quickfix 工具,可以直接在 Vim 中编译代码。我心花还没怒放,就看到后面跟着在 Vim 中输入 :make 。然而这是要有前提条件你的工程文件夹里包含了MakeFile。于是我心头一动,写MakeFile好麻烦,有没有什么自动生成的工具呢。事实证明懒惰促进人类进步,这种东西怎么可能没有,于是我就花了一个晚上,整通了比写MakeFile更麻烦的自动生成MakeFile…