[英]how to copy a line of code to the REPL buffer and immediately execute it, in Emacs?
在使用2個緩沖區進行調試期間(左側是“編輯緩沖區”,右側是“執行緩沖區”)我經常遇到需要將一行代碼從“編輯緩沖區”復制到“執行緩沖區”的情況。並立即執行它(可能沒有離開“編輯緩沖區!)。
是否存在綁定? 如果沒有,我該如何創建一個?
可能值得詢問您使用的是哪種語言以及使用何種語言或REPL。 例如,如果您使用Slime with Common Lisp,那么通常不需要轉到實際的REPL緩沖區來評估代碼。 在您的代碼緩沖區中,您可以將點放在Lisp表單的末尾,然后執行Cx Ce
- 在emacs-lisp-mode中評估表單的相同綁定 - 它將在REPL中對其進行評估。 我不記得了,但CMx
可能在使用Slime的Common Lisp緩沖區中的工作方式與通常使用Emacs Lisp一樣。
至少其他一些模式的工作方式相同 - 在shen模式的緩沖區中,你可以使用相同的方式使用相同的方式進行活動的下級會話,並且我也使用了同樣的方案。 我認為如果你有一個較差的REPL,相應的語言模式將重新綁定這些鍵來評估REPL中的表單,這是相當標准的。
對於它可能值得...
選擇要執行的行和Cc Cr通常可以完成這項工作。 如果hook
存在。
我不知道現有的綁定,但你可以輕松地創建一個宏來移動到另一個窗口,猛拉並向后移動。 整個過程將是:
Cx (
Cx o
Cy
Cu -1
, Cx o
Cx )
Cx Ck n yank-other-window
接下來,您要保存該函數並將其綁定到啟動Emacs時加載的ELisp文件中的鍵:
Mx insert-kbd-macro <RET> yank-other-window <RET>
(global-set-key [CM-.] 'yank-other-window)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.