This is all great, but as someone who logs into dozens of new-to-me systems every week I am unfortunately better served by learning raw systemctl and journalctl commands and training around them instead of a suite of tools and scripts that I'll need to install and configure anew each time. The fzf that ships with Ubuntu 22.04 and 24.04 doesn't even support all the options used here.
And this is why I daily-drive bash, vi, top, and screen, even on my own systems... although I can usually get away with `apt install htop fzf tmux vim-tiny` (or the equivalent) if necessary. And I don't use many shell or git aliases. Woe is me!
My thoughts on it. Also typically you're only going to be restarting so many things ever so the invocation is probably sitting in reverse search (and thus fzf) anyway.
Out of the box it already ships zsh integration to fuzzy-search history with ctrl+r. I don't know what I'd do without this.
I also have a short script, `re` to fuzzy-search a local git repository:
fd -IH -t d '^\.git$' --format '{//}' ~/src |
fzf |
sed "s|^$HOME|~|" |
wl-copy --primary
This copies the path into clipboard. I typically paste it immediately, so that `cd $PATH_TO_REPO` ends up in history for next time.
I use zk[1] to organise my notes, and it uses fzf to provide a TUI for fuzzy-search notes too.
The way in which fzf is re-usable by different scripts and tools is really neat. I the world of GUIs, we don't really have composable re-usable components like this.
Just this weekend I used fzf (and a bit of python glue) to create my own TUI wrapper around OpenSUSE's package manager, zypper. With fzf's multi-selection mode I can select multiple packages at once to install or remove. Using fzf's preview command feature I can use zypper info (with a little bit of my own caching wrapping it) to display package info as I go through the list. A custom header shows the shortcuts for installing, removing, etc.
And this is why I daily-drive bash, vi, top, and screen, even on my own systems... although I can usually get away with `apt install htop fzf tmux vim-tiny` (or the equivalent) if necessary. And I don't use many shell or git aliases. Woe is me!
https://github.com/joehillen/sysz/blob/master/sysz
A TUI in pure shell script?? I read the script and don't even see how it's done.
1: https://github.com/junegunn/fzf
Consider this a feature request, I guess :)
I think the functionality is already there:
Out of the box it already ships zsh integration to fuzzy-search history with ctrl+r. I don't know what I'd do without this.
I also have a short script, `re` to fuzzy-search a local git repository:
This copies the path into clipboard. I typically paste it immediately, so that `cd $PATH_TO_REPO` ends up in history for next time.I use zk[1] to organise my notes, and it uses fzf to provide a TUI for fuzzy-search notes too.
The way in which fzf is re-usable by different scripts and tools is really neat. I the world of GUIs, we don't really have composable re-usable components like this.
[1]: https://github.com/zk-org/zk