Emacs caps lock minor mode?

Is er een commando in Emacs om aan te zetten wat zou kunnen worden omschreven als "caps lock minor mode"? Ik ben op zoek naar iets als Mx toggle-caps-mode , dan is elke letter die ik typt in de buffer een hoofdletter totdat ik Mx toggle-caps-mode nog een keer.

Opmerking: ik ben NIET op zoek naar aanwijzingen voor het verwisselen van caps en controle. In werkelijkheid is dit omdat ik dat al heb gedaan. Ik ben er over het algemeen best tevreden mee, maar af en toe ben ik de code aan het bewerken waar er een stel constanten in alle hoofdletters zitten, en het wordt een soort die de Shift-toets ingedrukt houdt. Ik ben op de hoogte van de verschillende upcase conversiefuncties; Ik hoef het woord liever niet te typen, selecteer het en voer vervolgens upcase-region uit.

Als het er toe doet, gebruik ik Aquamacs 2.2 w/Emacs 23.3.1.

5
Ik denk dat ik snel en los speel met het woord 'verwisseld'. Ik bedoel echt dat ik caps opnieuw heb toegewezen om te controleren. Controle is nog steeds controle, maar ik zou ze eigenlijk kunnen ruilen. Nog steeds nieuwsgierig of er een eenvoudig antwoord is op deze vraag.
toegevoegd de auteur dantswain, de bron
Als je caps en control hebt geruild, heb je caps lock op de control toets, nietwaar? Waarom gebruik je dat niet?
toegevoegd de auteur Tom, de bron

2 antwoord

U hoeft het woord niet in te voeren en vervolgens te selecteren. Als u het laatste woord wilt omzetten, drukt u op M-b M-u of ESC b u . Ok, u moet verschillende keren op b drukken als het een word_with_underscores is.

Als je echt een caps lock minor-modus wilt, probeer dan John Paul Wallington lockcaps.el .

4
toegevoegd
Het is een hele hoop word_with_underscores s waarmee ik werk! lockcaps.el ziet er echter veelbelovend uit.
toegevoegd de auteur dantswain, de bron
Autocomplete is nog nooit mijn stijl geweest, maar lockcaps.el wilde gewoon dat ik het wilde.
toegevoegd de auteur dantswain, de bron
@dantswain Je hoeft ze maar één keer te typen. Vervolgens typt u de eerste paar letters en gebruikt u de aanvulling (semantisch met M-TAB of dynamisch met M -/).
toegevoegd de auteur Gilles, de bron

Je kunt zoiets proberen:

(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
    ))
2
toegevoegd
Bedankt, het is een interessante thread. Vooral over hoe je de lange keymap vervangt door een enkele functie.
toegevoegd de auteur Oleg Pavliv, de bron
Ik vond dit: lists.gnu.org/ archive/html/gnu-emacs-sources/2004-08/& hellip; en de verschillende antwoorden, die uiteindelijk een iets compactere versie opleveren. Ik hoopte op een ingebouwde, maar als dit het antwoord is, dan is dit het antwoord. Ik zal het wat tijd geven om te zien of iemand anders iets anders te bieden heeft.
toegevoegd de auteur dantswain, de bron