2017-02-23 140 views
0

我正在尝试添加Cntl + K和Cntl + J快捷键以快速向上和向下移动单元格。我认为这个问题在Github上here添加快捷方式,并发现了什么看起来是一个可行的答案:添加用于移动单元格的向上键盘快捷键并将单元格向下移动

“对于那些(像我)谁喜欢这个快捷方式,它添加到你的〜/ .ipython/profile_default /静态/定制/ 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; 
}); 

});

但我的用户/ {我的名字}/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'); 
}); 

这个答案也没有工作(添加缺少的文件夹和文件custom.js没工作)。

回答

1

正如在官方文档中提出的(获得“帮助>笔记本”菜单操作), 您可以先在实况笔记本中尝试。浏览器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'); 

它的工作原理,但是,正如相应的工具栏按钮点击时,控制台发出警告赞成IPython.notebook.move_selection_up()弃用 。

字符串"jupyter-notebook:move-cell-up"涉及相同的操作。

,所以我想一个reasonnable要做的事情是从头重新定义它:


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; 
    }} 
); 

执行NOTBOOK细胞(或在您的浏览器控制台代码)后,它应该 积极参与,您可以尝试一下。

一旦快乐,请检查您jupyter配置文件的路径与!jupyter --config,并从那里 你知道在哪里可以复制你的代码:<profile>/static/custom/custom.js 因此,这将是在明年jupyter会话活跃。