Fish (shell)
Finally, a command line shell for the 90s - Home
bind - key binding
Doc
- Startup (Where’s .bashrc?)
- fish starts by executing commands in ~/.config/fish/config.fish
alias --save df="df -h"
- define and save alias in one command
- fisher - A package manager for the fish shell
- fish-prompt-metro - Fast, git-aware, space-conscious, powerline prompt
- powerline/fonts - done - receive notifications when long processes finish.
- fzf.fish - Augment your Fish command line with mnemonic key bindings to efficiently find what you need using fzf & fd (make sure to have the proper version).
- fish-prompt-metro - Fast, git-aware, space-conscious, powerline prompt
- awesome-fish - A curation of plugins, prompts, and resources for fish.
The Fish Cookbook
Set as default shell
Tips: Rather set fish as your terminal’s shell instead of changing your login shell. see
- Kitty conf (ctrl+shift+f2) -
shell fish
- VSCode - F1 + terminal default provile
$ chsh -s /usr/bin/fish
Check that fish is allowed in /etc/shells
CDPATH
Easily Navigate Directories in the Terminal the cd command to search for the directory you specify in locations other than your current directory.
$ export CDPATH=$HOME:$HOME/software:$HOME/software/ruby:$HOME/software/rails:$HOME/software/youtube
For example, let’s say you have a $HOME/software/blog directory and you’ve configured the CDPATH to include the $HOME/software directory.
Now, if you type cd blog from anywhere in the filesystem, the cd command will take you to the $HOME/software/blog directory, unless it finds another blog directory in another pre-configured path.
PATH
PATH can be a pain, but there are some basics: Where is PATH set
- All apps+shells /etc/environment
- All shells ~/.profile or /etc/profile for all users (or a separate file under /etc/profile.d/ if using pacman)
- Bash shell ~/.bashrc (or ~/.bash_profile or ~/.bash_login)
- Fish shell ~/.config/fish/config.fish
- fish_add_path - add to the path
Alternative
Written on August 11, 2018, Last update on October 17, 2024
fish
shell
cli