Emacs上限锁定次要模式?

时间:2011-10-27 18:05:32

标签: emacs capslock

Emacs中是否有命令打开可能被称为“大写锁定次要模式”的命令?我希望做M-x toggle-caps-mode之类的事情,然后我在缓冲区中输入的每个字母都是大写字母,直到我再次M-x toggle-caps-mode为止。

注意:我不是在寻找如何交换上限和控制的指示。实际上,这是因为我已经这样做了。我一般都很满意它,但偶尔我会编辑代码,其中有一堆常量全部大写,并且它会成为压低shift键的压力。我知道各种upcase转换函数;我宁愿不必输入单词,选择它,然后运行upcase-region

如果重要,我正在使用Aquamacs 2.2 w / Emacs 23.3.1。

2 个答案:

答案 0 :(得分:4)

您不需要输入单词然后选择它。如果您想要填写最后一个字,请按M-b M-uESC b u。好的,如果是b,您需要按word_with_underscores几次。

如果您真的想要大写锁定次要模式,请尝试John Paul Wallington's lockcaps.el

答案 1 :(得分:2)

您可以尝试这样的事情:

(define-minor-mode caps-lock-mode
  "caps-lock mode"
  ;;   The initial value.   
  nil   
  ;; The indicator for the mode line.   
  " CAPS-LOCK"   
  ;; The minor mode bindings.   
  '(("a" . (lambda () (interactive) (insert-char ?A 1)))
    ("b" . (lambda () (interactive) (insert-char ?B 1)))
    ;;etc 
    ("A" . (lambda () (interactive) (insert-char ?a 1)))    
    ("B" . (lambda () (interactive) (insert-char ?b 1)))    
    ;;etc
    ))