ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

IPython Notebook

by maximsch2 ST2/ST3

IPython Notebook plugin for Sublime Text 3/2

Details

  • 2 2013.10.06.18.25.13
    3 1.0.1
  • github.​com
  • github.​com
  • 6 years ago
  • 58 minutes ago
  • 6 years ago

Installs

  • Total 20K
  • Win 9K
  • OS X 6K
  • Linux 5K
Oct 18 Oct 17 Oct 16 Oct 15 Oct 14 Oct 13 Oct 12 Oct 11 Oct 10 Oct 9 Oct 8 Oct 7 Oct 6 Oct 5 Oct 4 Oct 3 Oct 2 Oct 1 Sep 30 Sep 29 Sep 28 Sep 27 Sep 26 Sep 25 Sep 24 Sep 23 Sep 22 Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15 Sep 14 Sep 13 Sep 12 Sep 11 Sep 10 Sep 9 Sep 8 Sep 7 Sep 6 Sep 5 Sep 4 Sep 3
Windows 1 4 6 4 5 2 4 5 9 4 3 4 6 5 3 2 2 7 2 5 3 4 5 5 5 5 5 1 6 5 7 2 1 4 5 3 4 6 2 9 1 1 5 3 6 4
OS X 1 3 0 2 2 3 1 2 2 2 4 2 3 3 3 2 2 2 0 3 1 4 4 2 3 2 0 3 2 2 5 1 0 2 0 4 1 2 3 3 0 1 3 3 4 0
Linux 1 2 3 2 2 2 2 2 3 1 3 2 4 1 5 1 2 5 0 2 2 2 2 2 1 1 5 4 4 6 5 4 4 3 2 4 1 3 1 1 0 1 2 2 2 2

Readme

Source
raw.​githubusercontent.​com

Sublime IPython Notebook

This is a Sublime Text 3 plugin that emulates IPython notebook interface inside Sublime.

NOTE: this plugin does not work with the latest versions of Ipython Notebook! (2.0 or greater)

Disclaimer

While the plugin looks stable so far and I am trying to preserve as much of the notebook data as possible, there are no guarantees that you data will be safe. Do not use it for the notebooks that contain valuable data without doing a backup.

How to use

  1. Connect to the notebook server using “Open IPython Notebook” command. Choose a notebook you want to open and it will open in a separate buffer.
  2. I am trying to support keyboard shortcuts from the web version of the notebook. Currently you can use:
    • shift+enter - execute current cell
    • ctrl+enter - execute current cell inplace
    • ctrl+m, d - delete current cell
    • ctrl+m, a - add cell above current
    • ctrl+m, b - add cell below current
    • ctrl+m, n - select next cell
    • ctlr+m, p - select previous cell
    • ctrl+m, y - code cell
    • ctrl+m, m - markdown cell
    • ctrl+m, t - raw cell
    • ctrl+m, s - save notebook (ctrl+s and super+s will work too)

Notes

  1. You can use %pylab inline. You will not be able to see the plots, but they will be saved in the notebook and available when viewing it through the web interface.
  2. I am using websocket-client library from https://github.com/liris/websocket-client and (slightly patched) subset of the IPython. You do not have to install them separately.
  3. ST3 port was contributed by chirswl
  4. Dark theme, support for password-protected servers and nicer last-used-server picker was contributed by z-m-k

Vintage Mode

In Vintage mode, for the navigation keys to work as expected in IPython Notebook buffer, you need to modify some keybindings. Add the following to your Key Bindings - User.

  1. Add a context key to Shift+Enter so you can run a cell with Shift+Enter in the command mode:

    { "keys": ["shift+enter"], "command": "set_motion", "args": {
        "motion": "move",
        "motion_args": {"by": "lines", "forward": true, "extend": true }},
        "context": [
            { "key": "setting.command_mode"},
            { "key": "setting.ipython_notebook", "operator": "equal", "operand": false },
            ]
    },
    
  2. Command mode Up/Down navigation keys:

    { "keys": ["j"], "command": "set_motion", "args": {
        "motion": "move",
        "motion_args": {"by": "lines", "forward": true, "extend": true },
        "linewise": true },
        "context": [
            { "key": "setting.command_mode"},
            { "key": "setting.ipython_notebook", "operator": "equal", "operand": false },
            ]
    },
    
    {
        "keys": ["j"], "command": "inb_move_up",
        "context" : [
            { "key": "setting.command_mode"}
            { "key": "setting.ipython_notebook", "operator": "equal", "operand": true },
            { "key": "auto_complete_visible", "operator": "equal", "operand": false },
            ]
    },
    
    { "keys": ["k"], "command": "set_motion", "args": {
        "motion": "move",
        "motion_args": {"by": "lines", "forward": false, "extend": true },
        "linewise": true },
        "context": [
            { "key": "setting.command_mode"},
            { "key": "setting.ipython_notebook", "operator": "equal", "operand": false },
            ]
    },
    
    {
        "keys": ["k"], "command": "inb_move_down",
        "context" : [
            { "key": "setting.command_mode"},
            { "key": "setting.ipython_notebook", "operator": "equal", "operand": true },
            { "key": "auto_complete_visible", "operator": "equal", "operand": false },
            ]
    },