क्या बैश के रिवर्स-सर्च-हिस्ट्री के बराबर एक psql है?


17

मैं bashरिवर्स-सर्च-हिस्ट्री (Cr) (कमांड-लाइन फीचर) का बहुत शौकीन हूं :

वर्तमान लाइन पर पीछे की ओर खोजें और आवश्यकतानुसार इतिहास को आगे बढ़ाएं। यह एक वृद्धिशील खोज है।

जब मैं हिट control-rमें bash, मैं निम्नलिखित मिलती है:

(reverse-i-search)`':

और मैं पहले से निष्पादित कमांड के पात्रों को टाइप करने में सक्षम हूं, जो मैं देख रहा हूं उस पर सम्मानित करना। अगर मैं कोई गलती करता हूं, तो मैं control-hएक चरित्र (बराबर backspace) मिटा सकता हूं ।

यह कमांड-लाइन कार्यक्षमता पहले निष्पादित कमांड को संदर्भित करना बहुत आसान बनाती है। मैं सोच रहा था कि क्या ऐसी क्षमता मौजूद है psql। मुझे सिर्फ control-pऔर सिर्फ भरोसा करना बेहद अक्षम लगता है control-n

इसके लायक क्या है, मैं Postgres.app के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 माध्यम से प्राप्त कर रहा हूं ।


3
क्या आपने Ctrl-rपहले से ही कोशिश की है ? :)
dezso

बेशक, और इसका मेरे लिए कोई प्रभाव नहीं है। क्या आप आपके ctrl-rलिए काम करने का सुझाव दे रहे हैं ??
user664833 5

उपयोग करें rlwrap...
फिलो

मैंने rlwrapहोमब्रे ( brew install rlwrap) के माध्यम से स्थापित किया और इसे आज़माया ( rlwrap psql) - लेकिन फिर control-rभी काम नहीं करता है; वास्तव में, यह ठीक उसी तरह से व्यवहार करता है जैसे control-rबिना rlwrap(जो ऐसा होता है कि कुछ भी नहीं होता है )। शायद यह एक गहरी समस्या का संकेत है।
user664833

6
ctrl-rआम तौर पर रीडलाइन लाइब्रेरी द्वारा प्रदान किया जाता है। ऐसा प्रतीत होता है कि इस बारे में postgres.app के लिए एक खुला मुद्दा है
डैनियल वेरिटे

जवाबों:


15

GitHub पर इस बारे में एक बातचीत ने एक अंतरिम "त्वरित सुधार" समाधान का नेतृत्व किया :

खोलें ~/.editrcऔर जोड़ें:

bind "^R" em-inc-search-prev

जाहिरा तौर पर बड़ा मुद्दा यह है कि PostgresApp के libeditबजाय का उपयोग करता है libreadline। और माना जाता libeditहै कि कुछ कमांड-लाइन सुविधाओं का अभाव है libreadline, इसलिए जब तक PostgresApp को संकलित नहीं किया जाता है libreadline, बस ऊपर दिए गए त्वरित सुधार का उपयोग करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.