Bash - Verlaufssuche nach geordneten Zeichensätzen

368
Ctrl-C

Ich möchte in der Lage sein, zu schreiben dockercomexund haben zum Beispiel einer Geschichte Spiel: docker-compose exec (...). Diese Suche funktioniert in PyCharm und ist fantastisch für die Produktivität. In Firefox ist es ähnlich, jedoch mit Leerzeichen zwischen den Gruppen ( docker com exfür dieses Beispiel).

Momentan verwende ich Ctrl-R in Bash, aber meine ganze Phrase wird buchstäblich als eine Gruppe (wie grep dockercomex $HISTFILE) verwendet. Reverse-i-Search scheint keine Art von Regexx zu unterstützen.

Ich könnte verwenden:, history | egrep '(docker|com|ex)'aber dies ist für den häufigen Gebrauch nicht geeignet. Wenn es keine bessere Lösung gibt, denke ich, schreibe ich ein Skript, das es viel bequemer macht, etwa: recently dockercomex- Letzte n-Matches zurückgeben und fragen, ob ich welche ausführen möchte (Standard: der letzte).

0
Ich finde `search-history- *` viel einfacher zu benutzen: Mein `.bashrc` beinhaltet` bind '' \ e [A ': history-search-backward'; # Up Arrow` und `bind '' \ e [B ": Verlaufssuche vorwärts '; # Abwärtspfeil'. AFH vor 6 Jahren 0
Das ist ein fantastischer Tipp, ich benutze ihn viel. In diesem Fall habe ich jedoch viele Befehle mit demselben langen Präfix in der Geschichte (wie viele verschiedene Befehle, die in Docker ausgeführt werden). Ich kenne das eindeutige Infix von dem, was ich will, aber ich muss durchgehen, um zum Befehl zu gelangen: Schreiben Sie ein Präfix → [Up] → Zum Anfang des falschen Suffix → Entfernen → Schreiben Sie etwas mehr → [Up] → ... - Natürlich verwende ich Abkürzungen (sogar den Vim-Modus), um zwischen Wörtern zu springen, aber es ist immer noch so, als würde man versuchen, über die Adressleiste etwas Wesentliches aus der Chrome-Geschichte zu holen. Nun, nicht so schlimm, ich komme immer dort hin. Ctrl-C vor 6 Jahren 0

0 Antworten auf die Frage