emacs / elisp:什么是散列(英镑,数字符号,octothorp)符号用于?
这是做什么的?
(add-hook 'compilation-mode-hook #'my-setup-compile-mode)
…和它不同
(add-hook 'compilation-mode-hook 'my-setup-compile-mode)
没有区别:
(eq 'my-add #'my-add)
产生t
#
可以在lambda
expression式前面使用,向字节编译器指示下列expression式可以被字节编译,参见匿名函数的文档。 但是在符号的情况下没有什么可以编译的。
一般来说,它在打印的表示中与左尖括号(<)一起用来指示打印的对象是描述(但不能被读取)。 例如:
#<buffer foo.txt>
读者也可以用它来表示圆形结构。 有关循环对象的读取语法,请参阅文档。
然后你可以用它来表示整数的基数 ,例如#x2c -> 44
。
再加上我确定。
我发现这个问题,同时search什么哈希意味着什么,而我发现黑客mode-line-format
:
#("-%-" 0 3 (help-echo "Display as tooltip when mouse hovers or with display-local-help."))
这是用于string中的文本属性的格式,其中:
-
"-%-"
,要文本化的文本:一个破折号和一个%-construct ,导致“破折号足以填充模式行的其余部分”,导致着名的Emacs------
。 -
0
,文本属性适用的第一个字符。 -
3
,文本属性应用的最后一个字符, 即整个"-%-"
。 -
(help-echo "...")
,一个属性和一个string作为参数。
这可以通过propertize
函数来创build:
(propertize "Hover over me!" 'help-echo '"congratulations!")
会和#("Hover over me!" 0 14 (help-echo "Congratulations!"))
:
如果你使用的是字体locking模式,使用buffer-substring
命令可能会产生如下的结果:
(buffer-substring 1 28) ; First 27 characters in the current buffer ⇒ #(";; This buffer is for notes" 0 3 (fontified t face font-lock-comment-delimiter-face) 3 27 (fontified t face font-lock-comment-face))
所以你可以创build类似于:
应该是全面的列表可以在Emacs lisp参考索引的顶部find。
编辑 :或者更方便,从Emacs本身:
-
Mx
info
RET (打开信息浏览器) -
d m
elisp
RET (打开elisp手册) -
I
#
RET (在索引中列出#
的条目)