11 votes

Pourquoi les commandes emacs fonctionnent-elles partout sur MacOS ?

Je peux utiliser les commandes emacs partout sous MacOS, ce qui est une bonne chose. Mais pourquoi ? Par exemple, dans les formulaires de Safari, je peux utiliser ctl-a, ctl-k, etc... Je peux aussi les utiliser dans Note.app.

Je suppose qu'il s'agit en fait de commandes Unix et qu'emacs les a empruntées ?

10voto

Douglas Points 10417

Je peux utiliser les commandes emacs partout sous MacOS, ce qui est une bonne chose. Mais pourquoi ?

Normalement, demander "Pourquoi Apple fait ceci, cela ou l'autre chose" serait considéré comme hors sujet, mais cette question a une réponse historique.

La réponse courte à cette question est que le support des raccourcis clavier d'Emacs est implémenté dans le fichier Système de texte Cocoa .

Je suppose qu'il s'agit en fait de commandes Unix et qu'emacs les a empruntées ?

Il ne s'agit cependant pas de commandes Unix, car, comme indiqué dans une autre réponse, elles ne figurent pas dans la spécification Unix. En outre, elles ne sont pas "universelles" et ne peuvent pas être utilisées partout. Elles ne peuvent être utilisées que là où les applications utilisent le système de texte Cocoa. Par exemple, ils ne peuvent pas être utilisés dans Microsoft Word.

Quel est donc le rapport avec le cacao ? Eh bien, Cocoa est dérivé de OpenStep qui était un projet développé par NeXT et Sun Microsystems pour fournir un service de NeXTSTEP aux systèmes d'exploitation non NEXTSTEP. NeXT a produit une variante d'OpenStep pour son propre système d'exploitation. Unix basé sur Mach .

N'oubliez pas que le noyau Unix de MacOS est basé sur Mach.

Comment Apple a-t-il pu mettre la main sur Mach et OpenStep ? Eh bien, le 7 février 1997 Apple a racheté NeXT (avec Steve Jobs). Les produits dérivés de cet achat étaient, vous l'avez deviné, MacOS basé sur le noyau Mach, OpenStep, et tous les autres produits que NeXT avait dans son portefeuille.

Alors, pourquoi Apple a-t-il repris tous ces raccourcis clavier lors du développement de Cocoa ? Il était logique qu'Apple reprenne un environnement avec lequel les développeurs (beaucoup d'entre eux venant du monde Unix) étaient déjà familiers. Cocoa, dérivé d'OpenStep, mettait en œuvre les fonctionnalités d'Emacs déjà intégrées dans OpenStep.

1voto

Jose Chavez Points 645

Votre supposition n'est pas vraiment correcte, non. Ces "commandes" (ou raccourcis clavier) ne sont pas des commandes Unix. La spécification d'Unix ne dit rien sur les raccourcis d'édition de texte à l'échelle du système ou autres, et on ne peut donc pas vraiment dire qu'il s'agit d'un emprunt à Unix.

Je doute que la réponse de @ankii soit correcte non plus. Il n'est pas logique que "pour une conception cohérente" vous ayez deux raccourcis différents pour chacune des nombreuses opérations (comme par exemple Ctrl-A que vous avez mentionné avec le raccourci probablement plus Mac-ish Cmd-Flèche Gauche).

On peut aussi penser qu'emacs a emprunté ces raccourcis à macOS. Ce n'est pas le cas non plus. Emacs a été créé en 1976, alors que la première version du logiciel système Macintosh date de 1984.

L'explication la plus logique serait que certains ou de nombreux programmeurs de systèmes MacOS utilisaient depuis longtemps des éditeurs avec des raccourcis de commande similaires à emacs (ce qui inclurait emacs lui-même), ou qu'un sous-ensemble suffisamment important de clients initiaux étaient de tels utilisateurs - ils ont donc ajouté ces raccourcis supplémentaires pour que tout le monde se sente à l'aise.

En fait, certains de ces raccourcis sont assez anciens. Pour autant que je sache, ils trouvent leur origine dans les "terminaux informatiques" qui constituaient le mode d'accès à de nombreux grands systèmes informatiques dans les années 1970. En gros, les terminaux sont l'étape évolutive après les "imprimantes de ligne" en tant qu'interface principale, et avant les "écrans bitmap" (moniteurs d'ordinateur).

Par exemple, la célèbre série de terminaux virtuels VT100 (vers 1978) était équipée de raccourcis similaires. Par exemple, à l'instar de Control-K dans MacOS, Escape-K supprimait la fin de la ligne. Notez qu'à l'époque, la touche ESC n'était pas située sur le clavier comme elle l'est aujourd'hui.

0voto

awy Points 500

La plupart des raccourcis de MacOS sont disponibles à l'adresse suivante https://support.apple.com/en-us/HT201236 y https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts

Pour ce qui est de la raison pour laquelle vous pouvez les utiliser dans emacs, il pourrait s'agir d'un design cohérent, comme les quatre ou cinq onglets dans de nombreuses applications iOS.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X