Emacs caps lock次要模式?
Emacs中是否有一个命令来打开所谓的“caps lock次要模式”?我想做一些类似于Emacs caps lock次要模式?,emacs,capslock,Emacs,Capslock,Emacs中是否有一个命令来打开所谓的“caps lock次要模式”?我想做一些类似于m-x toggle caps mode,然后我在缓冲区中键入的每个字母都是大写字母,直到我再次执行m-x toggle caps mode 注意:我不是在寻找如何交换封顶和控件的说明。事实上,这是因为我已经做到了。我通常对它很满意,但偶尔我会编辑一些代码,在这些代码中,所有的大写字母中都有一堆常量,按下shift键会产生压力。我知道各种upcase转换函数;我不想输入单词,选择它,然后运行upcase reg
m-x toggle caps mode
,然后我在缓冲区中键入的每个字母都是大写字母,直到我再次执行m-x toggle caps mode
注意:我不是在寻找如何交换封顶和控件的说明。事实上,这是因为我已经做到了。我通常对它很满意,但偶尔我会编辑一些代码,在这些代码中,所有的大写字母中都有一堆常量,按下shift键会产生压力。我知道各种upcase
转换函数;我不想输入单词,选择它,然后运行upcase region
如果有必要,我使用的是Aquamacs 2.2 w/Emacs 23.3.1。您可以尝试以下内容:
(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
))
您不需要键入单词,然后选择它。如果要将最后一个单词的大小写提高,请按
M-b M-u
或ESC b u
。好的,如果是带下划线的单词,您需要按几次b
如果您真的想要大写锁定次要模式,请尝试。如果您交换了大写和控制,那么您的控制键上就有大写锁定,不是吗?你为什么不用这个?我想我在玩弄“交换”这个词。我真的是说我已经重新映射了控制。控制仍然是控制,但我实际上可以交换它们。我仍然好奇这个问题是否有一个简单的答案。我发现了这个:以及各种各样的回答,最终给出了一个稍微紧凑的版本。我希望有一个内置的,但如果这是答案,那么这就是答案。我会给它一些时间看看是否有其他人有什么不同的东西可以提供。谢谢,这是一个有趣的线程。特别是关于如何用单个函数替换长键映射。我正在使用的是一大堆带下划线的
word\u!不过,lockcaps.el看起来很有前途。@dantswain您只需键入一次即可。然后你只需键入前几个字母并使用补全(语义与M-TAB
或动态与M-/
)。自动补全从来都不是我的风格,但锁帽。el
只是我想要的。