我想重新绑定
C-up
至"M-p : bring the previously entered expression down to the prompt"
和
C-down
至"M-n : bring the expression after the current expression in the expression history down to the prompt"
Racket的行为与默认终端不同,在默认终端中,我可以使用这些控件绑定来滚动以前的表达式。球拍manual提供了一些重新绑定的示例,但没有解释如何仅在交互窗口中重新绑定键。它的作用是使C-up和C-down保持相同的绑定,这意味着上下移动光标,这在交互提示中的编辑器窗口中非常有用。但是我不希望这样,因为我看不到它的用途。
答案 0 :(得分:0)
这是我自己使用的东西。随时进行调整:
#lang s-exp framework/keybinding-lang
(require drracket/tool-lib)
(define (register-repl key command command-fallback)
(keybinding key (λ (ed evt)
(define canvas (send ed get-canvas))
(send (send ed get-keymap) call-function
(if (is-a? canvas drracket:unit:interactions-canvas%)
command
command-fallback)
ed evt #t))))
(register-repl "d:up" "put-previous-sexp" "beginning-of-file")
(register-repl "d:down" "put-next-sexp" "end-of-file")