2016-09-13 83 views
0

我想嘗試Jupyter筆記本電腦,但很快就遇到了與它的問題,因爲我的鍵盤佈局採用alt+dalt+f插入()不工作。我所有其他的修改器也基於alt+{letter},它們都可以工作,但由於某種原因,alt+dalt+f正在被某些東西吞噬。不過,我找不到任何有關這兩種組合的捷徑。Jupyter筆記本ALT + d捷徑碰撞

我已經添加了以下到~/.ipython/profile_default/static/custom/custom.js

$([IPython.events]).on("app_initialized.NotebookApp", function() { 
    // No idea what these do, but the mess with my keyboard layout 
    IPython.keyboard_manager.command_shortcuts.remove_shortcut("Alt-d"); 
    IPython.keyboard_manager.command_shortcuts.remove_shortcut("Alt-f"); 
}); 

但這似乎並未有甚至重新啓動服務器和瀏覽器重裝之後的任何影響。

謝謝

+0

我敢肯定Jupyter不會與這些快捷鍵做任何事情,儘管它可能是Codemirror,在筆記本的代碼編輯器組件,確實。但是當我在瀏覽器中嘗試它時,Alt-d和Alt-f是瀏覽器快捷方式,而不是編輯器中的任何內容。 –

+0

可能這可能是編輯器似乎並未使用實際輸入字段,而是其他一些解決方案,這可能會導致瀏覽器不禁用某些在輸入文本時不應啓用的快捷方式。 –

+0

@ThomasK是的,它似乎是一個Codemirror快捷方式來刪除一個字https://github.com/codemirror/CodeMirror/blob/1cbf1f64001b36dc7115f6a36c0f919f59c434fa/lib/codemirror.js#L2911。你知道是否可以刪除這些快捷方式? –

回答

0

因此,經過一定量的挖掘,我想出了什麼原因造成的。問題不在jupyter筆記本中,而是由底層CodeMirror編輯器中的快捷方式引起的。如所見here CodeMirror添加了Alt + d和Alt + e的快捷鍵。禁用這些方式是把下面的~/.jupyter/custom/custom.js

delete CodeMirror.keyMap.emacsy["Alt-F"]; 
delete CodeMirror.keyMap.emacsy["Alt-D"];