Ich bin sehr angetan von bash
's Reverse-Search-History (Cr) (Kommandozeilenfunktion):
Suchen Sie rückwärts ab der aktuellen Zeile und blättern Sie nach Bedarf im Verlauf nach oben. Dies ist eine inkrementelle Suche.
Als ich traf control-r
in bash
, erhalte ich die folgenden:
(reverse-i-search)`':
Und ich bin in der Lage, Zeichen von zuvor ausgeführten Befehlen einzugeben und zu verfeinern, wonach ich suche. Wenn ich einen Fehler mache, kann ich eingeben control-h
, um ein Zeichen zu löschen (entspricht backspace
).
Diese Befehlszeilenfunktion macht es extrem einfach, auf zuvor ausgeführte Befehle zu verweisen. Ich frage mich, ob eine solche Fähigkeit für existiert psql
. Ich finde es äußerst ineffizient, mich auf Gerechtigkeit control-p
und Zuverlässigkeit zu verlassen control-n
.
Für das, was es wert ist, verwende ich PostgreSQL 9.3.1 on x86_64-apple-darwin13.0.0, compiled by Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn), 64-bit
- über Postgres.app erhalten .
quelle
Ctrl-r
schon versucht ? :)ctrl-r
Werke für Sie vor?rlwrap
...rlwrap
über homebrew (brew install rlwrap
) installiert und ausprobiert (rlwrap psql
) - abercontrol-r
es funktioniert immer noch nicht; Tatsächlich verhält es sich genauso wiecontrol-r
ohnerlwrap
(was bedeutet, dass nichts passiert ). Vielleicht ist dies das Zeichen eines tieferen Problems.ctrl-r
wird normalerweise von der readline-Bibliothek bereitgestellt. Es scheint, dass es für postgres.app eine offene Frage dazu gibt.Antworten:
Ein Gespräch darüber auf GitHub führte zu einer vorläufigen "Quick Fix" -Lösung :
Anscheinend ist das größere Problem, dass PostgresApp
libedit
anstelle von verwendetlibreadline
. Und angeblichlibedit
fehlen einige Befehlszeilenfunktionen von. Verwenden Sie die oben genannte Schnellkorrekturlibreadline
, bis PostgresApp kompiliert istlibreadline
.quelle