2017-02-23 143 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會話活躍。