2010-08-25 34 views
4

當我問here,我可以選擇一個前綴參數(C-U)運行泥口齒不清,我是寫在here,我看到了C-u是插入當前緩衝區的輸出方式。emacs的前綴參數的用途/用法是什麼?

我用 'C-U 10 SOMETHING',以運行SOMETHING 10倍。

使用前綴參數(C-u)的用法/目的是什麼? C-u是唯一的前綴參數嗎?

回答

6

查看documentation for prefix command arguments

但是,簡而言之,它是交互式地向命令提供更多信息的一種方式。

  • 用於α-數字鍵,通常結合於'self-insert,它告訴他們有多少該字符的插入
  • 對某些命令(的Mx評論區域)這意味着反轉命令,即Cu Mx評論區un評論區域。
  • 對於一些它只是調整行爲,C-u C-s做一個'isearch-forward-regexp而不是一般的'isearch-forward

所以,這一切都取決於命令是如何使用的前綴參數。

至於其他 「前綴參數」,有C--M--M-3(或任何其他數字),以及一些其它。

5

的同時也要記住的是銅作爲自己的默認前綴過客「(4)如您通過4

命令乘以此之前插入參數,每個CU因此,你可以寫一個具有由使用CTRL-U前綴之間選擇的幾個簡單地選擇,例如快速的方法:

(defun insert-date (prefix) 
    "Insert the current date. With prefix-argument, use ISO format. With 
    two prefix arguments, write out the day and month name." 
    (interactive "P") 
    (let ((format (cond 
       ((not prefix) "%A, %d %B %Y %H:%M %Z") 
       ((equal prefix '(4)) "%d/%m/%Y %H:%M") 
       ((equal prefix '(16)) "%d/%m/%Y") 
       ((equal prefix '(64)) "%H:%M:%S") 
       )) 
     (system-time-locale "en_GB")) 
    (insert (format-time-string format)))) 

(global-set-key (kbd "C-c d") 'insert-date) 

(以上的elisp產生插入一個長格式日期上的鍵的功能(在此情況下抄送d),在Cu Cc d上的短格式的日期+時間,在Cu Cu Cc d上的短格式日期以及在Cu Cu Cu Cc上的短格式化時間d)

您可以使用這一招,使在默認情況下使用Clojure的一個「創業泥」替代品,但如果按C-u前運用鍵綁定SBCL。

+0

+1現在我終於明白「兩個前綴參數」的含義了(如例如magit命令magit-pull所示)。順便說一句,Xah Lee在http://ergoemacs.org/emacs/elisp_universal_argument.html上寫了關於這個和其他可能的「前綴」值。例如,不帶數字的'C-u'''使'prefix'等於符號'-'。 – echristopherson 2014-09-30 20:14:45

0

另一種方式來看待它是一個前綴ARG讓你滾兩個或兩個以上不同但相似/相關的命令爲一體,並把它們放在類似,但是相關的密鑰。

  • 把最常用的一個上KEY,對於一些KEY
  • 把另一個放在C-u KEY
  • 把另一個放在C--鍵
  • 把另一個放在C- + KEY

或者把許多人在不同的數字前綴:...,銅-2 KEY銅-1 KEY銅0鍵銅1鍵銅2 KEY,...

相關問題