resh
zsh-merge-hist
resh | zsh-merge-hist | |
---|---|---|
10 | 2 | |
985 | 1 | |
- | - | |
4.8 | 4.1 | |
12 months ago | 12 months ago | |
Go | Scala | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
resh
-
Atuin – Magical Shell History
Resh is a lot faster and lightweight.
https://github.com/curusarn/resh
-
Show HN: Hucksh – A Shell with a Good Memory
Seems like re.sh (https://github.com/curusarn/resh) plus a directory tab and unlike re.sh it isn't free. I like the directory history, but that isn't a $40/yr value add for me
- Atuin replaces your existing shell history with a SQLite database
- Runlike: Given an existing Docker container, prints the command line to run it
-
Apps that should be paid, but are not (Part 3)
https://github.com/curusarn/resh - Rich Enhanced Shell History - Contextual shell history for zsh and bash - I want this tool on every server I work on.
- full command path in terminal history.
-
RESH: Rich Enhanced Shell History
Yeah, based on the issues that might be a fair assumption:
https://github.com/curusarn/resh/issues
-
Always opt for the easier way.
Even better than Ctrl+R is resh.
-
Can you pin preferred commands in the clipboard?
Try Resh for better history management: https://github.com/curusarn/resh
zsh-merge-hist
-
Atuin replaces your existing shell history with a SQLite database
> How do you handle maintaining this as you transition through jobs, machines, etc?
Currently, the tool reads ~/.mergerc, which is a JSON file with a list of SSH hosts to SCP history to and from. As long as the history file is in the same place (it tends to be on hosts that I setup, and otherwise I check in default locations) and the host has an entry in ~/.ssh/config, the tool will work. It's really just a wrapper for a few SCP invocations plus a history file (extended) format parser.
Changing servers is just a change in the config file, but it's also helpful for changing jobs, because I can quickly add a bit of filtering before the merging happens. I had to erase some API keys and such a few times, adding `filter` call here: https://github.com/piotrklibert/zsh-merge-hist/blob/master/s... took care of it.
> what is your workflow around maintaining these one off ad hoc "developer boost" type tools?
Good question. I don't have such workflow, at all. When I commit to write something like this, I try to make sure that it has a scope limited enough so that it can be "completed" or "done". In this case, the tool builds on SSH/SCP and a file format that hasn't changed in the last 20 years (at least). So, once I had it working, there was nothing much to do with it after that. The only change I had to do recently was changing `+` to `` in the parser, because somehow (not sure how, actually) an empty command made it into the file. But that's all I had to do in 5 years time.
I'm not as extreme, but suckless.org philosophy appears to work well here. Here's another example: https://github.com/piotrklibert/nimlock - it's a port, done because I wanted to do something in Nim, but it worked for me for years and I suspect it still works now (after going full remote I stopped needing it). There's nothing much that could break (well, Wayland would* break it, but I don't use it), and so there's not much you need to do in terms of maintenance.
As for language choices - these are basically random. I made the zsh-merge-hist in Scala simply because I was interested in Scala back then. I have little tools written in Nim, OCaml, Racket, Elisp, Raku - and even AWK (pretty nice language actually) and shell. That's another reason why making the tools any more complex than what's absolutely necessary would be a problem: the churn in the ecosystems tends to be too high for me to keep track of, especially since I'd need to track 10 of them.
> I'm checking it out
If you have Java installed, `./gradlew installDist` should give you `./build/install/bin/zsh-merge-hist` executable to run. The ~/.mergerc (on the host the tool runs) should look like this:
{
What are some alternatives?
topalias - Linux bash/zsh aliases generator
bash-preexec - ⚡ preexec and precmd functions for Bash just like Zsh.
noti - Monitor a process and trigger a notification.
LLMShellAutoComplete - Use GPT to complete shell command line using atuin shell history database and terminal screen content as prompt
omni - The all-in-one tool to supercharge your productivity ⌨️
nimlock
mcfly - Fly through your shell history. Great Scott!
zsh-histdb - A slightly better history for zsh
atuin - ✨ Magical shell history
hstr - bash and zsh shell history suggest box - easily view, navigate, search and manage your command history.
later - Save all your Mac apps for later with one click 🖱️