Gosto muito do bash
histórico de pesquisa reversa (Cr) (recurso de linha de comando):
Pesquise para trás, começando na linha atual e movendo-se 'para cima' pelo histórico, conforme necessário. Esta é uma pesquisa incremental.
Quando eu bati control-r
em bash
, recebo a seguinte:
(reverse-i-search)`':
E eu sou capaz de digitar caracteres de comandos executados anteriormente, aprimorando o que estou procurando. Se eu cometer um erro, posso entrar control-h
para apagar um caractere (equivalente a backspace
).
Essa funcionalidade da linha de comando facilita extremamente a referência a comandos executados anteriormente. Eu estou querendo saber se tal capacidade existe para psql
. Acho extremamente ineficiente confiar apenas em control-p
e control-n
.
Para o que vale a pena, eu estou usando 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
- obtido via Postgres.app .
fonte
Ctrl-r
já tentou ? :)ctrl-r
obras para você?rlwrap
...rlwrap
via homebrew (brew install rlwrap
) e tentei (rlwrap psql
) - mascontrol-r
ainda não funciona; de fato, ele se comporta exatamente da mesma maneira quecontrol-r
semrlwrap
(que é que nada acontece ). Talvez este seja o sinal de um problema mais profundo.ctrl-r
normalmente é fornecido pela biblioteca readline. Parece que há um problema em aberto para o postgres.app sobre isso.Respostas:
Uma conversa sobre isso no GitHub levou a uma solução provisória de "solução rápida" :
Aparentemente, o maior problema é que o PostgresApp usa em
libedit
vez delibreadline
. E supostamentelibedit
carece de alguns recursos de linha de comandolibreadline
, portanto, até que o PostgresApp seja compiladolibreadline
, use a correção rápida acima.fonte