In <[EMAIL PROTECTED]>, on 02/22/05 at 03:26 PM, Neil Conway <[EMAIL PROTECTED]> said:
>Is there a way to recall the previous command in psql? Obviously, "up >arrow" or Ctrl-P using readline and the default readline bindings is >close, but it recalls the previous _line_ of input. That is not at all >the same thing in the case of a multiple line command, for example. >If there is no way at present, I think there should be. Using "up arrow" >is quite annoying when dealing with multiple line SQL statements. >Two issues: >- how to handle slash commands? Slash commands and SQL statements can be >intermixed: >neilc=# select 1 \timing >Timing is off. >neilc-# ; > ?column? >---------- > 1 >(1 row) >So I'm not quite sure what the right behavior here is. We could always >just ignore slash commands (the command would "recall the previous SQL >statement") -- since few slash commands are multi-line, I don't think >that would be too bad. >- when a multiple-line command is recalled, how should it be presented >in the psql input buffer? Perhaps we could strip newlines from recalled >command text, so that the recalled command would fit on a single line. >That would mean the recalled command would look somewhat different than >how the user typed it, although of course the semantics of the query >should be the same. Any better ideas? >-Neil How about a multi-line buffer that picks up everything from the last \g or ; to the next \g or ; That would pick up everything, That could then be pushed into the input buffer except for the last line containing the ; or \g The last line would have to pushed in when the user pressed the return key. -- ----------------------------------------------------------- [EMAIL PROTECTED] ----------------------------------------------------------- ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])