工具篇:第十一篇 Fish Shell —— 更简单好用的Shell
Fish Shell (Friendly Interactive Shell) 是一款现代的Shell工具,它的设计目标是提供更简单、更易用的命令行环境,它具有自动补全、语法高亮和更友好的用户界面等特性。
Fish Shell (Friendly Interactive Shell)
1.安装最新版本的Fish Shell
1 | sudo apt-add-repository ppa:fish-shell/release-3 |
2.配置默认Shell为Fish Shell
1 | cat /etc/shells # 查看所有Shell |
3.重新打开终端
Starship 轻量、迅速、可无限定制的高颜值终端!
如果是使用的Windows Terminal等终端,或者是VS Code等,需要注意安装一个 Nerd Font 的字体,并在终端启用(例如,可以尝试使用 Fira Code Nerd Font 字体)。
安装教程: https://zhuanlan.zhihu.com/p/467581369
我这里用的主题是Pastel Powerline Preset
fzf —— Fish Shell 的理想伙伴
1.首先需要安装fzf
1 | git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf # 获取最新版fzf |
2.使用插件管理器fisher安装fzf.fish
1 | curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher # 安装fisher |
3.现在就可以通过以下快捷键来操作fzf了
fzf默认快捷键 | 新快捷键 | 备注 |
---|---|---|
Ctrl-t | Ctrl-o | 查找文件 |
Ctrl-r | Ctrl-r | 查找历史命令 |
Alt-c | Alt-c | 打开子目录 (递归搜索) |
Alt-Shift-c | Alt-Shift-c | 打开子目录 (隐藏文件夹) |
Ctrl-o | Alt-o | 使用默认编辑器 ($EDITOR) 打开文件/目录 |
Ctrl-g | Alt-Shift-o | 使用xdg-Open或open命令打开文件/目录 |
4.实现一个快速目录跳转
fzf有非常高的自由度,可以自己写脚本实现很多很有意思的功能,比如实现一个在命令行可以用的目录跳转功能,而不是每次cd一个目录就要ls一下
- 新建一个getrpath文件,主要用来获取目录信息和子目录内容
1 | sudo vim /home/debin/.fzf/bin/getrpath |
写入以下的代码
1 |
|
授予执行权限
1 | chmod +x /home/debin/.fzf/bin/getrpath |
- 创建一个fzf_directory.fish
1 | nano /home/debin/.fzf/shell/fzf_directory.fish |
然后写入以下代码
1 | function fzf-rrpath -d "Change directory" |
- 启动Fish Shell 的时候激活
在
1 | echo "source /home/debin/.fzf/shell/fzf_directory.fish" >> ~/.config/fish/config.fish |
- 按Alt D,打开fzf页面,按左右键进入和退出目录,按回车cd目录,右侧窗口可以预览目录内容
配置好了用起来还是非常爽的。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 今天是晴天!
评论