J'aime beaucoup l' bash
historique de recherche inversée de Cr (fonctionnalité de ligne de commande):
Effectuez une recherche en arrière en commençant à la ligne actuelle et en vous déplaçant vers le haut dans l'historique si nécessaire. Il s'agit d'une recherche incrémentielle.
Quand je frappe control-r
dans bash
, je reçois le texte suivant:
(reverse-i-search)`':
Et je peux taper des caractères de commandes précédemment exécutées, en affinant ce que je recherche. Si je fais une erreur, je peux entrer control-h
pour effacer un caractère (équivalent de backspace
).
Cette fonctionnalité de ligne de commande permet de se référer très facilement aux commandes précédemment exécutées. Je me demande si une telle capacité existe psql
. Je trouve extrêmement inefficace de compter sur juste control-p
et control-n
.
Pour ce que ça vaut, j'utilise 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
- obtenu via Postgres.app .
la source
Ctrl-r
déjà essayé ? :)ctrl-r
œuvres pour vous ??rlwrap
...rlwrap
via homebrew (brew install rlwrap
) et l' ai essayé (rlwrap psql
) - maiscontrol-r
ne fonctionne toujours pas; en fait, il se comporte exactement de la même manière quecontrol-r
sansrlwrap
(c'est-à-dire que rien ne se passe ). C'est peut-être le signe d'un problème plus profond.ctrl-r
est normalement fourni par la bibliothèque readline. Il semble qu'il y ait un problème ouvert pour postgres.app à ce sujet.Réponses:
Une conversation à ce sujet sur GitHub a conduit à une solution provisoire de «solution rapide» :
Apparemment, le plus gros problème est que PostgresApp utilise à la
libedit
place delibreadline
. Et illibedit
manque soi-disant certaines fonctionnalités de ligne de commandelibreadline
, donc jusqu'à ce que PostgresApp soit compilélibreadline
, utilisez simplement le correctif rapide ci-dessus.la source