正如我问here,我可以选择运行带有前缀参数(Cu)的SLIME的lisp,我用here编写,我看到Cu是一种插入输出的方法当前的缓冲区。
我使用'C-u 10 SOMETHING',以便运行SOMETHING 10次。
使用前缀参数(C-u)的用途/目的是什么? C-u是唯一的前缀参数吗?
答案 0 :(得分:7)
还要记住,C-u作为前缀本身默认为传递'(4)作为参数,并且在命令之前插入的每个C-u将其乘以4。
因此,您可以通过使用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生成一个函数,在键上插入长格式日期(在本例中为Cc d),Cu Cc d上的短格式日期+时间,Cu Cu Cc d上的短格式日期,以及Cu Cu Cu Cc的短格式时间d)
你可以使用这个技巧来制作一个默认使用clojure的'start-slime'替换,但是如果你在键绑定之前按C-u则使用sbcl。
答案 1 :(得分:6)
查看documentation for prefix command arguments。
但是,简而言之,它是一种以交互方式为命令提供更多信息的方法。
'self-insert
,它会告诉他们要插入多少个字符'isearch-forward-regexp
而不是常规'isearch-forward
。所以,这完全取决于命令如何使用前缀参数。
就其他“前缀参数”而言,有 C - , M - , M-3 (或任何其他数字)和其他一些。
答案 2 :(得分:0)
另一种看待它的方法是,前缀arg允许您将两个或多个不同但相似/相关的命令合并为一个,并将它们放在相似但相关的键上。
KEY
,将最常用的一个放在 KEY 上。或者将其中许多放在不同的数字前缀上:..., Cu -2 KEY , Cu -1 KEY , Cu 0 KEY , Cu 1 KEY , Cu 2 KEY ,...