我想设置emacs,以便在将文本输入缓冲区时播放打字机声音,以及在按Enter键时播放回车声音(类似于Windows上的Q10编辑器)。有人对我如何解决这个问题有任何建议吗?有没有我可以使用的钩子(Hook)?
我目前使用 aquamacs 和 emacs 22,但不反对升级。
编辑:如果有人感兴趣,这里问了这个问题的 vim 版本:How can I make VIM play typewriter sound when I write a letter?
最佳答案
首先,您必须建立一些播放声音的方式:
(defun play-typewriter-sound ()
(let ((data-directory "~/Dowloads/Sounds"))
(play-sound `(sound :file "key1.wav"))))
...例如在 Mac OSX Emacs 上不起作用,因为它没有在编译时提供声音支持。有一些变通方法,例如见 http://www.emacswiki.org/emacs/ErcSound
(defadvice self-insert-command (after play-a-sound activate)
(play-typewriter-sound))
你也可以建议
newline-and-indent
. post-self-insert-hook
(add-hook 'post-self-insert-hook 'play-typewriter-sound)
defadvice
您可以使用 post-command-hook
并检查 this-command
的名称那里:(add-hook 'post-command-hook #'play-typewriter-sound-maybe)
(defun play-typewriter-sound-maybe ()
(if (eq this-command 'self-insert-command)
(play-typewriter-sound)))
关于emacs - emacs 的打字机声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206140/