4

我想知道是否有办法修改 Jupyter Lab 或 Notebook 的选项卡完成功能。例如,如果我键入“\alpha”,然后按 Tab 键,我将在单元格中得到 UTF-8 字符“α”。

有什么方法可以自定义“[不带空格的字符串]”以制表符完成某些特定的 UTF-8 字符或字符串?

例如“\暗示”+制表符->“⇒”

在我的编程生涯中,我可以看到大量这方面的用例,所以我想知道 Jupyter(实验室或笔记本)是否能够修改将字符串映射到选项卡式输出的某些设置(或加载到文件中)。还是有不同的想法可以用来实现这一点?

谢谢!

4

1 回答 1

3

Jupyter 是(基于)IPython 和它的完成引擎——我们可以利用它。

更新:您可以覆盖latex_symbolsdict 以获得您想要的行为:

from IPython.core.latex_symbols import latex_symbols
latex_symbols['\\implies'] = '⇒'

您应该能够在此示例的基础上使其适用于整个字符范围。

初始答案/另一个解决方案:您可以连接到 IPython 完成程序,尽管它不会完全按照您的意愿工作:它不会替换文本,而只是附加一个特殊字符。这是一个例子:

from IPython import get_ipython

def implies_competer(ipython, event):
    return ['⇒']

ipython = get_ipython()
ipython.set_hook('complete_command', implies_competer, re_key='.*implies')

然后当你输入时(关键字后面的空格很重要): 在此处输入图像描述

然后按tab,你会得到:

在此处输入图像描述

于 2018-06-01T16:38:44.570 回答