# Check installed packages vs requirements.txt inside a Python project
# Works inside a virtualenv as well
diff (python -m pip freeze | psub) requirements.txt
# parse manpages installed on the system
# and create completion files in the fish configuration directory.
fish_update_completions
Many people who are fed up with bash switch to zsh. To me, zsh is just a band-aid still stuck in the confines known as POSIX-compliance. Some people stick with zsh over fish because they need access to the ctrl+r
functionality of zsh, also known as history-incremental-search-backward
. Many recommend using the up-arrow key to search backwards through history, but it's not quite as powerful as the zsh ctrl+r. You can't add on to the typing of it generally or see
Fish has this as a plugin! It's got some other goodies, too. Grab it here: fzf fish plugin. Install With fisher. You'll probably want to set the environment variable set -U FZF_LEGACY_KEYBINDINGS 0
in your config.fish to get these newer nicer keybinds. More info in the readme on github.
Keybindings | Description |
--------------- | ----------------------------------------------- |
Ctrl-o | Find a file. |
Ctrl-r | Search through command history. |
Alt-c | cd into sub-directories (recursively searched). |
Alt-Shift-c | cd into sub-directories, including hidden ones. |
Alt-o | Open a file/dir using default editor ($EDITOR) |
Alt-Shift-o | Open a file/dir using xdg-open or open command |
Hitting ctlr-r now give you a nice little fzf-sytle menu for your old commands. I'd say it's even more powerful than zsh's ctrl+r.
Here I hit ctrl+r and typed in fish
. I can see all previous commands that have fish
as a substring, and I'm able to select one my arrow keys, or by double clicking with the mouse. I can refine the search if I keep typing. It's very intuitive if you play around with it.