有谁知道是否有办法将代码片段绑定到 Jupyter Lab 中的键盘快捷键?例如,在 R Studio 中,您可以使用Ctrl++快速编写管道运算符 ( Shift) ,我已经习惯了该功能,因此我想复制它。M%>%
我查看了设置下的键盘快捷键菜单,但我不确定如何使用 JSON 模式来编写这样的覆盖(如果它甚至可以从那里),并且文档不是很清楚。
有谁知道是否有办法将代码片段绑定到 Jupyter Lab 中的键盘快捷键?例如,在 R Studio 中,您可以使用Ctrl++快速编写管道运算符 ( Shift) ,我已经习惯了该功能,因此我想复制它。M%>%
我查看了设置下的键盘快捷键菜单,但我不确定如何使用 JSON 模式来编写这样的覆盖(如果它甚至可以从那里),并且文档不是很清楚。
好的,我对 Jupyter Lab 没有一个好的答案,但是对于好的旧的 jupyter 笔记本,只需运行下面的单元格就会给你你想要的:
IRdisplay::display_javascript("Jupyter.keyboard_manager.edit_shortcuts.add_shortcut('Ctrl-Shift-M', {
help : 'add pipe symbol',
help_index : 'zz',
handler : function (event) {
var target = Jupyter.notebook.get_selected_cell()
var cursor = target.code_mirror.getCursor()
var before = target.get_pre_cursor()
var after = target.get_post_cursor()
target.set_text(before + ' %>% ' + after)
cursor.ch += 5
target.code_mirror.setCursor(cursor)
return false;
}}
);")
在 JupyterLab 2.1+ 中,您可以使用以下内容为 R 配置键盘快捷键:
{
"shortcuts": [
{
"command": "apputils:run-first-enabled",
"selector": "body",
"keys": ["Alt -"],
"args": {
"commands": [
"console:replace-selection",
"fileeditor:replace-selection",
"notebook:replace-selection",
],
"args": {"text": "<- "}
}
},
{
"command": "apputils:run-first-enabled",
"selector": "body",
"keys": ["Accel Shift M"],
"args": {
"commands": [
"console:replace-selection",
"fileeditor:replace-selection",
"notebook:replace-selection",
],
"args": {"text": "%>% "}
}
}
]
}
Accel
表示Ctrl在 Linux 和 Windows 上,或Command在 Mac 上。
只需转到Advanced Settings Editor
-> Keyboard Shortcuts
,粘贴并保存:
JupyterLab 存储库中的相关问题:#4519、#7908、#10114。
或者,对于更高级的功能,例如特定于内核的快捷方式或自动填充,您可以使用jupyterext-text-shortcuts扩展。