Eri*_*k V 4 ipython ipython-notebook jupyter jupyter-notebook
我正在尝试添加 Cntl+K 和 Cntl+J 快捷方式来快速上下移动单元格。我在 Github 上查看了有关添加快捷方式的问题,并找到了一个可行的答案:
“对于喜欢此快捷方式的人(如我),请将其添加到您的 ~/.ipython/profile_default/static/custom/custom.js:
$([IPython.events]).on("app_initialized.NotebookApp", function () {
IPython.keyboard_manager.command_shortcuts.add_shortcut('ctrl-k', function (event) {
IPython.notebook.move_cell_up();
return false;
});
IPython.keyboard_manager.command_shortcuts.add_shortcut('ctrl-j', function (event) {
IPython.notebook.move_cell_down();
return false;
});
Run Code Online (Sandbox Code Playgroud)
});
”
但是我的 users/{my name}/.ipython/profile_default 目录没有静态文件夹。我尝试添加丢失的文件夹和 custom.js 文件,并重新打开 Anaconda 提示,但这并没有添加丢失的快捷方式。
另一个答案有同样的问题:
“使用以下内容:
$ cat ~/.jupyter/custom/custom.js
define(["base/js/namespace"], function(Jupyter){
console.info('Binding Ctrl-J/K to move cell up/down');
Jupyter.keyboard_manager.command_shortcuts.add_shortcut('Ctrl-k','jupyter-notebook:move-cell-up');
Jupyter.keyboard_manager.command_shortcuts.add_shortcut('Ctrl-j','jupyter-notebook:move-cell-down');
});
Run Code Online (Sandbox Code Playgroud)
”
这个答案也不起作用(添加丢失的文件夹和 custom.js 文件不起作用)。
正如官方文档中所建议的(通过“帮助>笔记本”菜单操作获得),您可以先在实时笔记本中尝试。浏览器 javascript 控制台也有帮助。
我试过:
%%javascript
IPython.keyboard_manager.command_shortcuts.add_shortcut('Ctrl-k','jupyter-notebook:move-cell-up');
// replacing IPython with Jupyter should work as well:
Jupyterkeyboard_manager.command_shortcuts.add_shortcut('Ctrl-j','jupyter-notebook:move-cell-down');
Run Code Online (Sandbox Code Playgroud)
它可以工作,但是,就像单击相应的工具栏按钮时一样,控制台会警告弃用IPython.notebook.move_selection_up().
该字符串"jupyter-notebook:move-cell-up"指的是相同的操作。
所以我认为合理的做法是从头开始重新定义它:
IPython.keyboard_manager.command_shortcuts.add_shortcut('Ctrl-k', {
help : 'move up selected cells',
help_index : 'jupyter-notebook:move-selection-up',
handler : function (event) {
IPython.notebook.move_selection_up();
return false;
}}
);
IPython.keyboard_manager.command_shortcuts.add_shortcut('Ctrl-j', {
help : 'move down selected cells',
help_index : 'jupyter-notebook:move-selection-down',
handler : function (event) {
IPython.notebook.move_selection_down();
return false;
}}
);
Run Code Online (Sandbox Code Playgroud)
执行 notbook 单元(或浏览器控制台中的代码)后,它应该处于活动状态,您可以对其进行试验。
一旦满意,请使用 来检查您的 jupyter 配置文件的路径!jupyter --config,然后您就会知道在哪里复制您的代码:<profile>/static/custom/custom.js
以便它在下一个 jupyter 会话中处于活动状态。
| 归档时间: |
|
| 查看次数: |
11505 次 |
| 最近记录: |