I'm using Enthought's beta distribution of Python Canopy 0.9.1 on Windows 7. How do I increase the size of my IPython buffer. Also how do I pipe the output of a command through a paginator; output is currently unpaginated.
If existing answers like
How to increase the ipython qtconsole scrollback buffer limit
or How to use Pipe in ipython will work, I don't know how to apply them to Windows.
Thank you!
There's currently no preference or config option to increase the buffer limit currently, but you could create a macro with the following code, and run it.
def run():
code_task = get_active_task()
python_pane = code_task.python_pane
python_pane.frontend.control.buffer_size = 1000
Setting the buffer_size
to a non-positive value, will turn off clipping of the buffer, but this option is "not recommended" by the IPython devs.
To create a new macro,
- go to
Tools (Menu) > Edit Macros ...
- Click on the "Create a new macro" button and give the macro a suitable name.
- Copy the code above, into your macro
- Optionally, you can add a keyboard shortcut for running this macro, by clicking on the keybinding text box in the bottom right, and pressing the desired key-combination. If you choose not to set a keyboard shortcut, you can run the macro from
Tools > Run Macro > (your macro)
Let me add to Puneeth's answer that our macro framework allows you to script parts of the application itself. To create a new macro with this code,
Select Tools > Edit macros... and click the "Create a new macro" button in the menu of the new macro window.
Choose and a name, and in the file describing the macro, replace the run function by the one given by Puneeth.
You will also need to create a shortcut combination in the bottom right panel. Click in the Keybinding text box, and type in a short cut of your choice: it will be recorded and stored there.
Save and you are good to go.
Jonathan
Sharing my own solution... if you want to see output that is larger than the iPython buffer, and you're more interested (as I was) in looking output later anyway, you can use the session logging feature of iPython.
In []: %logstart -or filename
and later
In []: %logstop