如何将键盘快捷键永久添加到Jupyter(ipython)笔记本?

时间:2015-08-17 09:14:33

标签: ipython ipython-notebook startup jupyter-notebook jupyter

我有以下快捷方式配置,在Jupiter笔记本的单元格中运行后可以正常工作:

%%javascript


IPython.keyboard_manager.command_shortcuts.add_shortcut('ctrl-q', {
    help: 'Clear all output',               // This text will show up on the help page (CTRL-M h or ESC h)
    handler: function (event) {             // Function that gets invoked
        if (IPython.notebook.mode == 'command') {
            IPython.notebook.clear_all_output();
            return false;
        }
        return true;                   
    }
  });

如何设置Jupiter笔记本以在启动时自动进行初始化?

我尝试将相同的代码(没有%%javascript)添加到C:\Users\<username>\.ipython\profile_default\static\custom\custom.js,但它没有用。

我只有一个配置文件,使用ipython profile create,Python 3.3,Windows 7创建。

提前致谢。

4 个答案:

答案 0 :(得分:8)

custom.js是此代码的正确位置。尝试将其包装如下(在块结束前不要忘记return true):

$([IPython.events]).on("app_initialized.NotebookApp", function () {
    <your code>

    return true;
});

答案 1 :(得分:7)

Jupyter notebook的新版本中(使用pip install --upgrade notebook更新或使用conda conda upgrade notebook),您可以从笔记本本身自定义它们。

要执行此操作帮助 - &gt; 编辑键盘快捷键

enter image description here

答案 2 :(得分:3)

使用nbextensions

轻松添加热键
  1. 安装nbextensions
    pip install jupyter_contrib_nbextensions
  2. 然后启动jupyter notebook。
  3. 介绍页面将有一个名为nbextensions的新标签,点击它并启用键盘快捷键编辑器。
  4. 现在打开任何笔记本点击帮助&gt;键盘快捷键
  5. 如果单击它,每个快捷方式旁边都会有一个铅笔图标,然后您可以将快捷方式设置为您想要的任何内容。

答案 3 :(得分:1)

1。有关更改命令模式的快捷方式:,请参阅萨尔瓦多的答案

2。要更改编辑模式的快捷方式:

按照https://jupyter-notebook.readthedocs.io/en/stable/extending/keymaps.html

中的说明编辑文件〜/ .jupyter / nbconfig / notebook.json

例如,在macOS上用命令输入代替控制输入快捷方式来执行代码后,文件如下所示:

{
  "Notebook": {
    "Toolbar": true,
    "Header": true
  },
  "Cell": {
    "cm_config": {
      "lineNumbers": true
    }
  },
  "keys": {
    "command": {
      "unbind": [
        "ctrl-enter"
      ],
      "bind": {
        "cmdtrl-enter": "jupyter-notebook:run-cell"   
      }
    }, 
    "edit": {
      "unbind": [
        "ctrl-enter"
      ],
      "bind": {
        "cmdtrl-enter": "jupyter-notebook:run-cell"
      }  
    } 
  }   
}