Eu costumava ser muito dependente do uso de Ctrl R para recuperar comandos inseridos anteriormente - tanto os usados quanto os longos e complicados. Eu encontrei problemas muito semelhantes aos que você descreveu.
Para superar esses problemas, modifiquei minha configuração de Bash para que, quando o shell sair, ele seja anexado ao arquivo de histórico, em vez de sobrescrevê-lo:
shopt -s histappend
No entanto, se o shell não saiu corretamente (como em uma redefinição física), eu ainda perderia o histórico dessa sessão, então adicionei o seguinte para salvar o histórico depois que cada comando é inserido.
PROMPT_COMMAND='history -a'
Aliases da shell
No final, eu adotei os apelidos de shell como a melhor maneira de salvar os termos mais usados comandos e aqueles longos e complicados que levam tempo para acertar. Contanto que eles sejam salvos no meu arquivo de alias, eles estarão sempre disponíveis para mim - até mesmo anos depois.
Eu armazeno todos os meus aliases em ~/.bash_aliases
e, em seguida, obtenho esse arquivo do meu .bashrc
como sugerido pelo padrão .bashrc
fornecido pelo Ubuntu:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi