Question Existe-t-il un moyen d'effectuer une recherche inversée dans l'historique de zsh avec plusieurs termes de recherche?


Je voudrais pouvoir effectuer une recherche inversée (CTRL + R) sur zsh, mais les commandes doivent être recherchées en utilisant plus d'un terme de recherche.

Par exemple, je voudrais rechercher parmi les commandes qui incluent à la fois "scp" et "hello".

Je soupçonne que ce n'est pas possible sans chercher directement dans le .histfile.


3
2017-12-05 04:50


origine




Réponses:


Je ne suis pas sûr qu'il soit possible de le faire exactement ce que vous pensiez, mais vous pouvez venir très proche (assez proche pour faire le travail au moins).

Tout d'abord, vous avez probablement quelque chose comme ce qui suit dans votre fichier .zshrc:

bindkey '^r' history-incremental-search-backward

Et un similaire pour la recherche avancée. Vous devez les modifier en conséquence:

bindkey '^R' history-incremental-pattern-search-backward

Vous pouvez maintenant utiliser des modèles dans vos recherches d'historique. Dans ce cas, tapez control-r (pour une recherche en arrière), puis tapez quelque chose comme ceci (appuyez à nouveau sur control-r une fois que vous avez terminé de rechercher votre modèle):

Pour "scp" ou "hello" n'importe où dans la chaîne:

?(scp|hello)

Commençant par "scp" suivi de "hello" n'importe où dans la chaîne:

scp*?(hello)

Tous les modèles que vous pouvez utiliser pour la création de globes ne fonctionnent pas (pour une raison quelconque, cela ne fonctionne pas si vous essayez d'effectuer une recherche "ET" stricte avec deux expressions où l'une des deux peut venir en premier), mais cela devrait suffire .

Bonne question, au fait.


5
2018-01-13 17:44





Vous pouvez utiliser deux projets / plugins:

Chacune d'elles permet une recherche incrémentielle de plusieurs mots dans l'histoire de Zshell. Zsh Navigation Tools permet également une correspondance approximative et possède d'autres fonctionnalités. HSMW a sortie colorée de syntaxe - Vous voyez votre histoire colorisée.


2
2018-05-22 14:14



Vous avez changé ma vie. - Charlie Gorichanaz