簡體   English   中英

如何將一行代碼復制到REPL緩沖區並立即執行它,在Emacs中?

[英]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存在。

我不知道現有的綁定,但你可以輕松地創建一個宏來移動到另一個窗口,猛拉並向后移動。 整個過程將是:

  1. 啟動宏Cx (
  2. 移動到另一個窗口Cx o
  3. Yank Cy
  4. 向后移動1個窗口Cu -1Cx o
  5. 停止宏錄制Cx )
  6. 將宏命名為Cx Ck n yank-other-window

接下來,您要保存該函數並將其綁定到啟動Emacs時加載的ELisp文件中的鍵:

  1. 將宏插入文件Mx insert-kbd-macro <RET> yank-other-window <RET>
  2. 綁定到一個鍵(global-set-key [CM-.] 'yank-other-window)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM