User Tools

Site Tools


mejorar_navegacion_historial_bash_zsh_cntrl_r

Potenciar la navegación (Cntrl + r) del historial de las terminales bash / zsh con HSTR

HSTR ofrece un proceso de navegación mejorado del historial de comandos que el tradicional (Cntrl + r). HSTR muestra un menú que se actualiza con cada pulsación mostrando un listado de todos los comandos que encajan sintácticamente. Permite no proponer comandos que no interesen, por ejemplo algunos con contraseñas como parámetros, el uso de expresiones regulares es también una opción útil. Con la tecla “Cntrl” se pueden configurar búsquedas ignorando mayúsculas. La posibilidad de filtrar sin buscar el comando y sus parámetros de manera literal, es decir, por palabras (parámetros), es algo muy útil para buscar cuando solo se recuerdan partes dispersas del comando.

HSTR Vídeo: http://www.youtube.com/watch?v=sPF29NyXe2U

Una vez instalado (Ver instrucciones en el repositorio de github), se configura el fichero bashrc de la siguiente manera y al ejecutar una sesión bash y pulsar “Cntrl + r” debería de estar ya activo el nuevo método de navegación del historial.

# Globalmente
hh --show-configuration >> /etc/bash.bashrc
# Usuario.
hh --show-configuration >> /home/XX/bashrc

Linea de comandos.

Usage: hh [option] [arg1] [arg2]...
Shell history suggest box:

  --favorites              -f ... show favorites view
  --non-interactive        -n ... print filtered history and exit
  --show-configuration     -s ... show configuration to be added to ~/.bashrc
  --show-zsh-configuration -z ... show Zsh configuration to be added to ~/.zshrc
  --show-blacklist         -b ... show commands to skip on history indexation
  --version                -V ... show version details
  --help                   -h ... help

Report bugs to martin.dvorak@mindforger.com
Home page: https://github.com/dvorka/hstr

Con hh se puede buscar en el historial de manera más amigables y ahorrarnos tuberías a comandos como grep. El uso de expresiones regulares también se facilita, permitiendo que puedas ver en tiempo real qué comandos van encajando según la expresión escrita.

hh ssh # Muestra las lineas del historial con ssh

Agregar comandos a la lista negra hstr. Creamos el fichero $HOME/.hh_blacklist con los comandos que no queremos que se propongan al usar “Cntrl +r”. Se deben escribir uno por linea. Para listar los comando dentro de la lista negra se usa la siguiente opción, si no se tiene activado en bashrc el uso de la blacklist, se mostrarán los predeterminados.

hh --show-blacklist
  'pwd '
  'mc '
  'ls '
  'pwd'
  'cd '
  'hh '
  'cd ..'
  'cd .. '
  'cd'
  'hh'
  'mc'
  'ls'

Para activar la posibilidad de usar la lista negra debe editar el fichero bashrc y agregar la opción blacklist.

export HSTR_CONFIG=hicolor,blacklist

Problemas con Kernels 6.X: https://github.com/dvorka/hstr/issues/478

Solución:

sysctl -w dev.tty.legacy_tiocsti=1
# Fijar el cambio en /etc/sysctl.conf
# dev.tty.legacy_tiocsti=1
mejorar_navegacion_historial_bash_zsh_cntrl_r.txt · Last modified: 2023/03/17 11:46 by busindre