Hacker News new | ask | show | jobs
by ddworken 497 days ago
I actually made a CLI tool (https://github.com/ddworken/hishtory) that automatically binds to Control+R to support both history searching and AI queries (by prefixing queries with `?`).

Here's the prompt engineering I did: https://github.com/ddworken/hishtory/blob/master/shared/ai/a...

1 comments

Ah this is a far more significant effort. I'm glad to see that there's so much consensus that default shell history is broken (I used to use logrotate because it would always truncate regardless of how many ways I told it to not ever, under no conditions, ever, do that).

Nice to see there's so many options these days. Someone else mentioned "https://atuin.sh/" in this thread - which is also new to me. Keeping up with things is seemingly impossible

Here's how I think I make sure it doesn't truncate:

  shopt -s histappend
  shopt -s cmdhist
  export HISTCONTROL=ignoreboth
  export HISTFILESIZE=-1
  export HISTFILE=~/.bash_eternal_history
  export HISTSIZE=-1
  export HISTTIMEFORMAT="%d/%m/%y %T "
  export HISTIGNORE="history:ls:l:ll:pwd:exit:clear"
It's almost a megabyte now... By when did it start to truncate for you?
somewhere around a few thousand lines. I want it to support tens of millions. I have a fast enough computer, storage is effectively free. I've tried all those things - everything short of doing a bunch of bpf filters and setting breakpoints on the binary myself.

honestly, with these modern systems this shouldn't be a problem any more. I look forward to it.

Yeah i have lots. Try my solution might work for you also.