簡體   English   中英

在Emacs minibuffer中調用帶有參數的命令

[英]Call a command with arguments in Emacs minibuffer

我知道Mx(execute-extended-command)允許通過鍵入其名稱在Emacs中調用命令。 但是,這不允許我使用參數調用命令,例如“后向單詞5”

我知道C-5 Mb可以產生理想的結果,但我正在尋找一種通用方法。

有誰知道如何做到這一點?

謝謝,丹尼

評估: M- :( (backward-word 5) RET

@ abo-abo提供了一般答案:使用M-:

  1. 但是,如果您不僅對獲取評估的副作用感興趣,不僅對返回值的粗略概述感興趣,而且對完整的返回值 (不論其大小和復雜程度)感興趣,那么可以使用Emacs M-:不是你想要的。

    為此,我將pp-eval-expression替換為其鍵綁定(包括M-: :)的eval-expression ,並且我也向其他人推薦這種做法:

    (替代鍵定義'eval-expression'pp-eval-expression全局地圖)

    這樣就漂亮地打印了返回值,您可以使其返回完整的值(沒有省略號: ... )。

  2. 另外,我在庫pp+.el提供了pp-eval-expression的修改版本。 具有以下優點:

    • 完成讀取,使用pp-read-expression-map
    • 輸入期間可以使用Emacs-Lisp模式的縮進和完成鍵綁定。
    • 使用前綴arg,將結果值插入到當前緩沖區的point處。
    • 帶有負前綴arg的返回值如果是字符串,則將其插入到緩沖區中,且不帶雙引號( " )。
    • 字體鎖定Emacs-Lisp模式的返回值(語法突出顯示)。 (並且在顯示期間, emacs-lisp-mode-hookchange-major-mode-hook被禁止。)
    • 尊重新的用戶選項pp-eval-expression-print-lengthpp-eval-expression-print-level和標准選項eval-expression-debug-on-error 前者與類似的標准選項eval-expression-print-lengtheval-expression-print-level分開,因為用例通常不同。
  3. 如果使用庫Icicles,則可以獲得與庫pp+.el相同的優點-無需同時加載pp+.el

暫無
暫無

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

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