Ich habe mich kürzlich in effiziente Textvervollständigungssysteme verliebt. Eine meiner Lieblingsarten der Vervollständigung ist die sogenannte Fuzzy-Vervollständigung. In diesem Modus vervollständigt das Programm die Benutzereingabe auf der Grundlage von nur wenigen Zeichen, die (fast) überall im Dateinamen oder Pfad vorkommen können. Diese Funktion gibt es zumindest für diese Programme:
- TextMate
- Vim Command-T-Plugin https://github.com/wincent/Command-T
- Vim-Vervollständigungssystem https://github.com/Shougo/neocomplcache
- Verschiedene moderne IDEs
Anwendungsbeispiel für diesen Modus in einem Texteditor:
Der Benutzer versucht, das Wort longWordNameThatTheyDontWantToWriteByHand zu vervollständigen, und kann dazu z. B. den ersten Buchstaben und einige Großbuchstaben eingeben. Wenn Sie also lwnt eingeben, kann dies das ganze Wort vervollständigen.
Meine Frage ist: gibt es einen Modus oder etwas ähnliches, das ich mit der zsh-Shell verwenden könnte?
quelle
stack install && vlc ~/Music/erf
nicht vollständigstack install && vlc ~/Music/FGFC820\ -\ Perfect\ War.mp3
.'r:|?=** m:{a-z\-}={A-Z\_}'
jetzt tatsächlich etwas Einfacheres und leide nicht unter dem von Ihnen beschriebenen Problem.Schauen Sie sich mein Projekt FZF .
Es ist ein Fuzzy-Finder für allgemeine Zwecke, der in Golang geschrieben wurde und mit jeder Liste von Dingen verwendet werden kann: Dateien, Prozesse, Befehlsverlauf, Git-Zweige usw.
Für zsh werden die folgenden Schlüsselbindungen bereitgestellt:
CTRL-T
- Fügen Sie die ausgewählten Dateipfade in die Befehlszeile einCTRL-R
- Fügen Sie den ausgewählten Befehl aus dem Verlauf in die Befehlszeile einALT-C
- CD in das ausgewählte Verzeichnisund Fuzzy-Abschlussmodus:
quelle
**