您知道当您击中bash中的向上箭头时,它将如何填充您键入的最后一个命令?有没有办法在nrepl中做到这一点?
到目前为止,我一直在进行反向搜索(Cr),输入相关行的前几个字符,杀死该行(Ck),跳转到缓冲区的末尾(M->),然后拉动杀死线(Cy)。有没有更简单的方法可以做到这一点?
最佳答案
您可以使用M-p
和M-n
在输入历史记录中上下导航。另外,当前输入可用作搜索模式,即键入您要匹配的命令的开始,然后M-p
将带您进入下一个匹配项。这使用了函数nrepl-previous-input
和nrepl-next-input
。如果您不喜欢这些键绑定(bind),还可以重新绑定(bind)到<up>
和<down>
:
(define-key nrepl-mode-map (kbd "<up>") 'nrepl-previous-input)
(define-key nrepl-mode-map (kbd "<down>") 'nrepl-next-input)
只需将其添加到
.emacs
中即可(如果您不想重新启动Emacs,请在每行之后评估C-x C-e
)。另外,请注意M-n
和M-p
可能会绑定(bind)到其他REPL和类似comint模式的类似功能。关于emacs - 有没有办法在nrepl中进行历史搜索?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15128418/