[HN Gopher] Jog: Print the last 10 commands you ran in the curre...
___________________________________________________________________
Jog: Print the last 10 commands you ran in the current directory
Author : ngngngng
Score : 31 points
Date : 2021-11-08 22:12 UTC (47 minutes ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| simias wrote:
| I'm not sure I love littering the filesystem with dotfiles (it
| gives me svn PTSD). Although the advantage is that it'll stay in
| the directory if it's renamed/moved/compressed etc...
|
| But then the inconvenient is that it'll stay in the directory if
| it's renamed/moved/compressed etc... Better be careful if you
| tend to input sensitive data on the command line.
| csdvrx wrote:
| This is for zsh.
|
| If you are using bash, here's an alternative to save the
| commands, their start time, stop time, and eventual error code,
| in a SQLite database that you can query with fzy:
| https://github.com/csdvrx/bash-timestamping-sqlite
|
| With the mappings, Ctrl-R will do a search history restricted to
| the current directory _AND_ to successful execution (return ==
| 0), while Ctrl-T will do a global history search for all
| directories and return values.
|
| EDIT: to answer a question I've seen posted below, if you want to
| only navigate the commands from the current directory, do Ctrl-R
| then use the arrows: the command are by default sorted by the
| time they where previously run. If you then start typing letters,
| it will filter these commands using fzy.
| kbd wrote:
| I always respect when people take the time to put a small but
| useful thing like this up in a repo by itself.
|
| It has always been a frustration that the current working
| directory metadata isn't saved along with history entries, so you
| can never really reconstruct what was run.
|
| Edit: I should really try out https://github.com/larkery/zsh-
| histdb. There's no reason a modern system's history shouldn't
| store start and finish timestamps, return code, current working
| directory, etc.
| visarga wrote:
| > It has always been a frustration that the current working
| directory metadata isn't saved along with history entries, so
| you can never really reconstruct what was run.
|
| And git branch if applicable.
| version_five wrote:
| Yes, underrated idea. I recently kept a spreadsheet of
| commands I'd ran, which branch, and where the output went. It
| would be great to see this tracked.
| visarga wrote:
| I keep shell sessions logged to individual files, collected
| for years back. I often reuse past commands. But if the
| command run from a git folder it's hard to tell which
| branch.
| kortex wrote:
| Zsh-histdb is one of my absolute lifesavers. It's literally the
| first thing I install on new systems, after zsh itself and oh-
| my-zsh. I could never go back to working without it.
| arthurcolle wrote:
| Thanks I'll check this out! Any other useful zsh plugins you
| want to call out? It's been my favorite shell for a while
| mostly because of OMZ but always interested in some new
| magic!
| ngngngng wrote:
| > It has always been a frustration that the current working
| directory metadata isn't saved along with history entries
|
| Agreed. Wild that's not built in at this point.
| simias wrote:
| That's a cool idea. I have a similar, but less elegant setup: I
| just append every single command that I type to a global
| (synchronized between machines) history file, one file per
| month, then I use fzf to search through these when I need
| something (which is plugged into the usual ^R shell binding).
| Every command I've typed over the past couple of years is
| accessible immediately that way.
|
| It's not scoped by directory though, but I'm not sure I'd
| personally need that feature.
| barosl wrote:
| This is such a great idea, but what's even more useful would be
| to make arrow keys only traverse the commands ran in the current
| directory. Would there be any prior art?
| ngngngng wrote:
| I like it. I'll add that to the to-do list.
| zhs wrote:
| Why not use fzf? https://github.com/junegunn/fzf
| jez wrote:
| Using fzf to power ^R (reverse history search) is such a huge
| productivity win. Also it has the side effect of showing you
| the last 10 commands without any other config or setup.
| mongol wrote:
| I am unsure how shell history works when there are many terminals
| open at once. The history within a single shell is not mixed up
| by this, but I have never learned what happens when the terminals
| closes. I often wondered what would be the ideal way for history
| to work with many shells.
| ngngngng wrote:
| I've posted this here in a comment before, but I just made some
| small updates and figured I'd submit. A while back I wished I
| could see what commands I'd run in a directory I hadn't worked in
| for months. I found a couple projects that could accomplish this
| but consisted of thousands of lines of code and a database
| install. I wanted a more "unix" solution so I built this.
| alhirzel wrote:
| CTRL+R is a bigger timesaver for me, but I could see this being
| useful if my memory weren't as keyword-based.
___________________________________________________________________
(page generated 2021-11-08 23:00 UTC)