Question

Je suis un utilisateur de Mac et j'ai décidé d'apprendre Emacs. J'ai lu pour réduire la fatigue des mains et améliorer la précision de la CTRL et LOCK doivent être permutées. Comment puis-je faire cela dans Leopard?

De plus, dans Terminal, je dois utiliser la touche Echap pour appeler la méta. Existe-t-il un moyen d’obtenir la touche alt / option pour appeler méta à la place?

mise à jour: Bien que la touche de contrôle soit beaucoup plus facile à utiliser, la touche Méta est également utilisée assez souvent pour que sa position sur mon MacBook et sur le clavier Apple mérite également une attention particulière. En fait, je trouve que la touche de contrôle est en fait plus facile à utiliser. J'ai donc remappé ma touche de contrôle pour qu'elle devienne une clé méta. Quelqu'un a-t-il une solution meilleure / plus standard?

Était-ce utile?

La solution

Échange entre CTRL et MAJUSCULES

  1. Accédez à Préférences système
  2. Entrez le Keyboard & amp; Souris volet de préférences
  3. Dans l'onglet Clavier , cliquez sur Touches de modification ...
  4. .
  5. Permutez les actions pour Verrouillage majuscule et Contrôle .

alt text

Utilisation de ALT / OPTION en tant que META

  1. Dans la barre de menus, cliquez sur Terminal
  2. .
  3. Cliquez sur Préférences ...
  4. Sous l'onglet Paramètres , accédez à l'onglet Clavier
  5. .
  6. Cochez la case Utiliser l'option comme clé méta

alt text

C'est ça! Vous devriez être sur la bonne voie pour devenir un maître Emacs!

Autres conseils

Pour référence, voici les raccourcis clavier pour déplacer du texte:

& # 8997; + & # 8592; - déplacer à gauche d'un mot
& # 8997; + & # 8594; - déplacez le curseur d'un mot vers la droite
& # 8997; + supprimer - retour supprimer un mot
Maj + & # 8997; + supprimer - supprimer un mot
& # 8997; + & # 8593; - déplacez d'un paragraphe vers le haut

& # 8997; + & # 8595; - déplacez le curseur d'un paragraphe vers le bas
& # 8984; + & # 8592; - déplace le curseur au début de la ligne en cours
& # 8984; + & # 8594; - va à la fin de la ligne en cours

Maj + l'une des options ci-dessus, élargissez la sélection de la quantité appropriée

Cliquez, puis faites glisser - sélectionnez du texte
Double-cliquez puis faites glisser - sélectionnez du texte, le retour à la ligne se terminant par un mot

Triple-cliquez puis faites glisser - sélectionnez le texte, le retour à la ligne de fin de paragraphe

Maj + Sélectionnez du texte avec la souris - ajoutez à la sélection (contiguë)

& # 8984; + Sélectionner du texte avec la souris - ajouter à la sélection (non contigu)

& # 8997; + glisser - sélectionner une zone rectangulaire (non contiguë)
& # 8984; + & # 8997; + glisser - ajoute une zone rectangulaire à la sélection

Faire glisser la sélection - déplacer le texte
& # 8997; + glisser la sélection - copier le texte

Ctrl + A - déplace le curseur au début du paragraphe actuel

Ctrl + B - déplace un caractère à gauche
Ctrl + D - transmet la suppression

Ctrl + E - se déplace vers la fin du paragraphe en cours

Ctrl + F - déplace le curseur d'un caractère vers la droite
Ctrl + H - supprimer
Ctrl + K - supprime le reste du paragraphe actuel

Ctrl + N - Descendre d'une ligne

Ctrl + O - insère une nouvelle ligne après le curseur
Ctrl + P - augmente d'une ligne

Ctrl + T - transposer (échanger) deux caractères environnants
Ctrl + V - déplace vers la fin, puis un caractère à gauche
Ctrl + Y - colle le texte précédemment supprimé avec Ctrl - K

L'autre réponse était très complète, mais je mentionnerais en outre que je viens d'activer le verrouillage des majuscules clé vers une deuxième touche de contrôle au lieu de les échanger.

En outre, vous remarquerez que la grande majorité des champs de saisie de texte sous Mac OS X accepte déjà les frappes emacs (^ Un début de ligne, ^ E une fin de ligne, ^ P, ^ N, ^ K, ^ Y, etc.)

bonne chance

J'aime beaucoup la réponse de Kyle Cronin, mais je voudrais ajouter une chose - assurez-vous de sélectionner le clavier approprié pour que cela fonctionne. Si vous avez un clavier externe branché sur votre ordinateur portable, il existe un menu déroulant supplémentaire que vous devrez faire pour les deux claviers (ou au moins pour votre clavier externe). La capture d'écran ci-dessous montre l’icône "Sélectionner un clavier". Boîte de dialogue - J'ai sélectionné "Joint Mac Keyboard", qui correspond à la manière dont MacBook utilise le clavier externe GoldTouch - la valeur par défaut est le clavier intégré.
Capture d

Une fois que j'ai compris cela - cela fonctionne très bien pour moi!

Si vous utilisez emacs sur une connexion ssh ou sur un ordinateur n'appartenant pas à votre ordinateur local, les boutons page précédente / page suivante permettent de parcourir la mémoire tampon du terminal. À mon avis, ce n'est pas très utile.

Vous pouvez définir les boutons de page suivante et de page précédente pour envoyer les commandes appropriées à emacs. Dans emacs, vous pouvez faire défiler le tampon emacs comme suit:

  • Page précédente: Ctl-v
  • Page suivante: Esc-v

Donc, pour que le terminal envoie ces commandes à emacs, suivez les instructions ci-dessus pour modifier les touches Alt de Meta. Cependant, au lieu de définir l'option " use en tant que méta " option, recherchez le " page vers le bas " et " page suivante " options.

Page suivante

Double-cliquez sur la " page suivante " option pour le modifier. Définissez Action sur "envoyer la chaîne au shell" , puis entrez \ 026 en tant que chaîne. Enregistrez-le.

Page précédente

Double-cliquez sur la " page précédente " bouton pour le modifier. Définissez Action sur "envoyer la chaîne au shell" , puis entrez \ 033v en tant que chaîne. Enregistrez-le.

Je ne sais pas si vous êtes totalement marié à utiliser Emacs depuis le terminal, mais une autre option consiste à utiliser Carbon Emacs (mon préféré) et Aquamacs (très similaire à Mac). Carbon Emacs utilise la clé de commande pour les méta, ce qui est bien, car vous pouvez exécuter des commandes Ctrl-Méta en maintenant la touche Contrôle enfoncée au lieu de frapper d'abord échap puis la séquence de touches de contrôle.

De plus, si vous êtes un utilisateur sérieux d’Emacs, je vous recommande vivement de vous procurer un clavier adapté à la programmation (complètement reprogrammable par lui-même). J'utilise un Kinesis, c'est un peu d'argent, mais ils sont extrêmement durables et très agréables.

Personnellement, j’ai mis le verrouillage majuscule en place pour se comporter comme une commande dans les préférences système, puis dans mon fichier emacs init.el, il a:

(setq 'ctrl de modificateur de commande mac')

et cela me permet d'utiliser le verrouillage des majuscules comme commande dans la plupart des applications osx et comme contrôle dans emacs. fonctionne assez bien pour moi.

Votre joie ne fait que commencer. D'autres astuces incluent:

  • Utilisez les touches de déplacement gauche et droite pour indiquer également (et) une saisie rapide.
  • Remappez votre clé fn ou une autre clé sur "super".
  • Assurez-vous que le verrouillage des majuscules soit contrôlé, mais uniquement avec une autre clé. En soi, il s’échappe.

Lisez l'excellent article sur http://stevelosh.com/ blog / 2012/10 / a-modern-space-cadet / pour beaucoup plus d'informations.

Ce fil de discussion a été lancé il y a 5 ans et il n'est fait aucune mention de ns-win.el ni de la construction de - with-ns . Voici toutes les combinaisons de clés disponibles (prêtes à l'emploi) dans Emacs Trunk à compter d'octobre 2013. Et, bien sûr, vous pouvez créer les vôtres. Personnellement, j’ai un init.el avec toutes mes raccourcis clavier utilisables avec Windows XP par le biais de Parallels sur OSX, ainsi qu’avec OSX en mode natif. Étant donné que l'utilisateur peut définir ses propres raccourcis clavier, je ne vois pas la nécessité de remapper le clavier dans les préférences système (avec un clavier Apple US) sauf si en utilisant un clavier qui n'inclut pas la touche Commande . Mais, j’abandonnerais ma réserve de claviers IBM clicky avec trackpoint intégré? Bien sûr que non. :) J'emmène avec moi mes claviers IBM clicky dans la prochaine vie. Toute tension de la main est très probablement causée par une mauvaise position du poignet / du bras / du coude, et non par une frappe frappant le contrôle par rapport au verrouillage des majuscules. La précision s’améliore par la pratique, et avec l’aide d’un chef qui regarde par-dessus votre épaule pour voir comment vous avancez, c’est-à-dire un peu de pression pour être plus productif:)

(define-key global-map [?\s-,] 'customize)
(define-key global-map [?\s-'] 'next-multiframe-window)
(define-key global-map [?\s-`] 'other-frame)
(define-key global-map [?\s-~] 'ns-prev-frame)
(define-key global-map [?\s--] 'center-line)
(define-key global-map [?\s-:] 'ispell)
(define-key global-map [?\s-?] 'info)
(define-key global-map [?\s-^] 'kill-some-buffers)
(define-key global-map [?\s-&] 'kill-this-buffer)
(define-key global-map [?\s-C] 'ns-popup-color-panel)
(define-key global-map [?\s-D] 'dired)
(define-key global-map [?\s-E] 'edit-abbrevs)
(define-key global-map [?\s-L] 'shell-command)
(define-key global-map [?\s-M] 'manual-entry)
(define-key global-map [?\s-S] 'ns-write-file-using-panel)
(define-key global-map [?\s-a] 'mark-whole-buffer)
(define-key global-map [?\s-c] 'ns-copy-including-secondary)
(define-key global-map [?\s-d] 'isearch-repeat-backward)
(define-key global-map [?\s-e] 'isearch-yank-kill)
(define-key global-map [?\s-f] 'isearch-forward)
(define-key global-map [?\s-g] 'isearch-repeat-forward)
(define-key global-map [?\s-h] 'ns-do-hide-emacs)
(define-key global-map [?\s-H] 'ns-do-hide-others)
(define-key global-map [?\s-j] 'exchange-point-and-mark)
(define-key global-map [?\s-k] 'kill-this-buffer)
(define-key global-map [?\s-l] 'goto-line)
(define-key global-map [?\s-m] 'iconify-frame)
(define-key global-map [?\s-n] 'make-frame)
(define-key global-map [?\s-o] 'ns-open-file-using-panel)
(define-key global-map [?\s-p] 'ns-print-buffer)
(define-key global-map [?\s-q] 'save-buffers-kill-emacs)
(define-key global-map [?\s-s] 'save-buffer)
(define-key global-map [?\s-t] 'ns-popup-font-panel)
(define-key global-map [?\s-u] 'revert-buffer)
(define-key global-map [?\s-v] 'yank)
(define-key global-map [?\s-w] 'delete-frame)
(define-key global-map [?\s-x] 'kill-region)
(define-key global-map [?\s-y] 'ns-paste-secondary)
(define-key global-map [?\s-z] 'undo)
(define-key global-map [?\s-|] 'shell-command-on-region)
(define-key global-map [s-kp-bar] 'shell-command-on-region)
;; (as in Terminal.app)
(define-key global-map [s-right] 'ns-next-frame)
(define-key global-map [s-left] 'ns-prev-frame)

(define-key global-map [home] 'beginning-of-buffer)
(define-key global-map [end] 'end-of-buffer)
(define-key global-map [kp-home] 'beginning-of-buffer)
(define-key global-map [kp-end] 'end-of-buffer)
(define-key global-map [kp-prior] 'scroll-down-command)
(define-key global-map [kp-next] 'scroll-up-command)

;; Allow shift-clicks to work similarly to under Nextstep.
(define-key global-map [S-mouse-1] 'mouse-save-then-kill)
(global-unset-key [S-down-mouse-1])

(ce n’est pas un clavier ergonomique, mais j’aime beaucoup le toucher et le toucher des touches, ainsi que la touche Ctrl et la touche Verr. Maj. sont échangées).

http://matias.ca/osxkeyboard/index.php

J'ai créé un ensemble assez complet de liaisons ici pour une utilisation en dehors du terminal.

Personnellement, je ne peux pas utiliser le clavier d'ordinateur portable Mac en raison de l'absence de la bonne clé de contrôle.

À la place, j'utilise le Microsoft Natural Ergonomic Keyboard 4000 pour plus de 7 ans: il possède des touches Ctrl et Alt très bien positionnées, et après téléchargement de ses pilotes le " Démarrer " et " Application " les touches sont trivialement remappées sur la clé Cmd du Mac, qui est également grosse et facile à appuyer.

Pour éviter les problèmes d’ergonomie d’emacs, je me suis entraîné à utiliser les touches Ctrl, Alt et Cmd de la même façon que nous utilisons Shift - en les déprimant avec la main en face de celle qui tape la touche réelle. (C’est-à-dire que je laisse le verrouillage majuscule tel quel.)

Je mets les majuscules pour contrôler les préférences système et, dans mon init.el, les éléments suivants permettent de définir la commande sur méta et l'option sur super:

(custom-set-variables
 '(ns-alternate-modifier (quote super))
 '(ns-command-modifier (quote meta)))

Je voudrais recommander 2 logiciels Seil et mousqueton . En installant simplement Seil et en suivant les instructions du logiciel, vous devriez pouvoir obtenir ce que vous voulez. D'après mon expérience, le mousqueton est plus puissant. J'ai un clavier japonais dont la disposition est différente de la normale. J'ai un extrait qui remappe deux touches supplémentaires de mon clavier en F18 et en F19 pour une utilisation ultérieure. Vous pouvez utiliser la même syntaxe pour modifier votre " private.xml " fichier pour faire plus de choses.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top