Emacs заглавные буквы блокируют второстепенный режим? - PullRequest
5 голосов
/ 27 октября 2011

Есть ли в Emacs команда для включения того, что можно описать как "режим caps lock minor"?Я пытаюсь сделать что-то вроде M-x toggle-caps-mode, тогда каждая буква, которую я набираю в буфере, будет заглавной, пока я снова не наберу M-x toggle-caps-mode.

Примечание: Я НЕ ищу указания о том, какпоменяйте местами крышки и контроль.На самом деле это потому, что я уже сделал это.Я, как правило, вполне доволен этим, но иногда я редактирую код, где есть куча констант, которые находятся во всех заглавных буквах, и это становится напряжением, удерживающим клавишу Shift.Мне известны различные функции преобразования upcase;Я бы предпочел не вводить слово, выбрать его, а затем запустить upcase-region.

Если это имеет значение, я использую Aquamacs 2.2 с Emacs 23.3.1.

Ответы [ 2 ]

4 голосов
/ 28 октября 2011

Вам не нужно вводить слово и выбирать его.Если вы хотите ввести последнее слово в верхнем регистре, нажмите M-b M-u или ESC b u.Хорошо, вам нужно будет нажать b несколько раз, если это word_with_underscores.

. Если вы действительно хотите минорный режим с блокировкой, попробуйте lockcaps.el Джона Пола Уоллингтона.

2 голосов
/ 27 октября 2011

Вы можете попробовать что-то вроде этого:

(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
    ))
...