我在 ipython shell 中经常使用的一个功能是自动完成历史记录中的部分类型命令。在 repl 中,只能键入命令的前几个字母,然后点击up以在命令历史记录中查找最后执行的以部分键入的字符串开头的命令。
这个功能在 emacs 中可用吗?按C-up可以调出python命令历史,但是不使用部分键入的命令?
comint-previous-matching-input-from-input
您可以使用和来完成部分键入的命令comint-next-matching-input-from-input
。
默认情况下,它们绑定到 C-c M-r和C-c M-s。
如果您已经输入 l = 1
,现在您可以输入l
并按下C-c M-r 以获得先前的完成。
如果您不想使用C-c M-r并且喜欢使用向上箭头,则将此代码放入您的配置中。
(eval-after-load 'comint
'(progn
(define-key comint-mode-map (kbd "<up>")
#'comint-previous-matching-input-from-input)
(define-key comint-mode-map (kbd "<down>")
#'comint-next-matching-input-from-input)))
现在你可以使用up/down箭头了。