Filtrar el historial ZSH por comando


Me dijeron que en ZSH se podía hacer algo como command y luego cuando se pulsa para arriba se filtra el historial basado en el comando dado. Pero cuando intento esto sólo ciclo la historia como lo hace Bash. ¿Está desactivado de forma predeterminada?

Author: Guu, 2012-12-26

6 answers

Hit Ctrl+R, escriba algunas letras, encontrará el comando anterior con estas letras, siga presionando Ctrl+R para continuar con los hallazgos anteriores.
Funciona en bash, zsh (y otras conchas supongo).

Lo que personalmente me gusta es: escriba algunas letras, presione Up, aparecen los comandos anteriores que comienzan con las mismas letras. Muy poderoso, me encanta.
Tienes que enlazar las teclas que quieres history-beginning-search-backward y history-beginning-search-forward.

En caso de que no sea suficiente para usted, zsh tiene un montón de opciones, intente buscar en Zsh Line Editor y díganos.
Para bash, menos poderoso pero más común, comandos Bash para la historia .

 54
Author: lolesque,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-26 14:24:46

Utilice el signo de exclamación:

> !<starts-with this string>

Puede hacer flecha arriba/abajo a través de todos los comandos que comenzaron con eso. Yo uso "!v " todo el tiempo para obtener mi comando anterior para abrir un archivo con Vim.

También puede usar un signo de interrogación para buscar más allá de coincidir con el comienzo de la cadena,

> !?status

Puede encontrar "git status".

 7
Author: zjaquish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-22 23:05:59

Esa es una característica disponible en fish, pero parece que alguien hizo un zsh plugin para él. No está disponible en ZSH estándar.

 5
Author: Frost,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-26 12:21:20

Use percol para buscar dinámicamente y navegar a través de su historial con Ctrl-r .

  • instalar percol: sudo pip install percol
  • agregue el fragmento de código zsh-history-search a su .archivo zshrc.

Después de Ctrl-r , puedes ver todo tu historial en la misma ventana. Buscar una palabra clave (dinámicamente) reduce esa lista. Puede usar enlaces de teclas (como este emacs como config) para navegar hacia arriba y abajo de la lista y, finalmente, hacer una selección.

Aquí está una búsqueda para todos los comandos sudo install disponibles en la historia con sudo make install seleccionado.

percol_history_search_example

Enter emite el comando seleccionado.

 2
Author: mihai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-22 18:13:03

Con las combinaciones de teclas vim activadas en zsh puede usar vi-history-search-backward (/) cuando está en modo de comando vi.

 2
Author: Konrad Haenel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-26 10:10:35

Si no desea agregar ninguna combinación de teclas, puede buscar por defecto usando Ctrl+R para retroceder & Ctrl+S para avanzar.

Usted puede comenzar a buscar con cualquiera de los accesos directos de la tecla Ctrl+R o Ctrl+S

 0
Author: Swaps,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-18 06:56:53