我想要一个次要模式,它允许以不变的方式访问数字键上的移位符号(然后移动数字).看来这对Perl代码($,@,%等等)有帮助.理想情况下,有一个切换此模式的键.有点类似于大写但仅限于数字键.
这样的模式是否已经存在?
推出自己的一种方法是这样的:
(define-minor-mode snoopy-mode
"Toggle snoopy mode.
With no argument, this command toggles the mode.
Non-null prefix argument turns on the mode.
Null prefix argument turns off the mode."
;; The initial value.
nil
;; The indicator for the mode line.
" Snoopy"
;; The minor mode bindings.
'(("1" . (lambda () (interactive) (insert-char ?! 1)))
("!" . (lambda () (interactive) (insert-char ?1 1)))
;;etc
))
Run Code Online (Sandbox Code Playgroud)
非常感谢jaybee的回答.这是所有数字的扩展定义:
(define-minor-mode shifted-numbers-mode
"Toggle shifted numbers mode."
nil
" shifted"
'(("1" . (lambda () (interactive) (insert-char ?! 1)))
("2" . (lambda () (interactive) (insert-char ?@ 1)))
("3" . (lambda () (interactive) (insert-char ?# 1)))
("4" . (lambda () (interactive) (insert-char ?$ 1)))
("5" . (lambda () (interactive) (insert-char ?% 1)))
("6" . (lambda () (interactive) (insert-char ?^ 1)))
("7" . (lambda () (interactive) (insert-char ?& 1)))
("8" . (lambda () (interactive) (insert-char ?* 1)))
("9" . (lambda () (interactive) (insert-char ?( 1)))
("0" . (lambda () (interactive) (insert-char ?) 1)))
("!" . (lambda () (interactive) (insert-char ?1 1)))
("@" . (lambda () (interactive) (insert-char ?2 1)))
("#" . (lambda () (interactive) (insert-char ?3 1)))
("$" . (lambda () (interactive) (insert-char ?4 1)))
("%" . (lambda () (interactive) (insert-char ?5 1)))
("^" . (lambda () (interactive) (insert-char ?6 1)))
("&" . (lambda () (interactive) (insert-char ?7 1)))
("*" . (lambda () (interactive) (insert-char ?8 1)))
("(" . (lambda () (interactive) (insert-char ?9 1)))
(")" . (lambda () (interactive) (insert-char ?0 1)))))
Run Code Online (Sandbox Code Playgroud)
在Perl中,大括号通常比括号更常见,因此您可能还需要:
("[" . (lambda () (interactive) (insert-char ?{ 1)))
("]" . (lambda () (interactive) (insert-char ?} 1)))
("{" . (lambda () (interactive) (insert-char ?[ 1)))
("}" . (lambda () (interactive) (insert-char ?] 1)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
662 次 |
| 最近记录: |