11 votos

¿Por qué los comandos de emacs funcionan en todas partes en MacOS?

Puedo usar los comandos de emacs en todas partes en MacOS, lo cual es bueno. Pero, ¿por qué? Por ejemplo, en los formularios de Safari, puedo usar ctl-a, ctl-k, etc. También puedo usarlos en Note.app.

Supongo que en realidad son comandos de Unix y emacs los tomó prestados.

10voto

Douglas Puntos 10417

Puedo usar los comandos de emacs en todas partes en MacOS, lo cual es bueno. Pero, ¿por qué?

Normalmente, preguntar "por qué Apple hace esto, lo otro o lo de más allá" se consideraría fuera de tema, sin embargo, esto tiene una respuesta basada en la historia.

La respuesta breve a esto es que el soporte de los enlaces de teclado de Emacs está implementado en el Sistema de texto Cocoa .

Supongo que en realidad son comandos de Unix y emacs los tomó prestados.

Sin embargo, no son comandos de Unix, porque ya se ha señalado en otra respuesta que no se encuentran en la especificación de Unix. Además, no son "universales" y no pueden utilizarse en todas partes. Sólo se pueden utilizar cuando la(s) aplicación(es) hace(n) uso del sistema Cocoa Text. Por ejemplo, no pueden utilizarse en Microsoft Word.

Entonces, ¿qué tiene que ver el cacao con todo esto? Bueno, el cacao se deriva de OpenStep que fue un proyecto desarrollado por NeXT y Sun Microsystems para proporcionar un NeXTSTEP como entorno a los sistemas operativos que no son NeXTSTEP. NeXT produjo una variación de OpenStep para su propio Unix basado en Mach .

Recuerda que el kernel de MacOS Unix está basado en Mach.

Entonces, ¿cómo llegó Apple a Mach y OpenStep? Bueno, el 7 de febrero de 1997 Apple adquirió NeXT (junto con Steve Jobs). Los productos derivados de esa compra fueron, lo has adivinado, MacOS basado en el kernel de Mach, OpenStep, y todas las demás cosas que NeXT tenía en su cartera.

Entonces, ¿por qué Apple incorporó todas esas combinaciones de teclas mientras desarrollaba Cocoa? Sólo tenía sentido que Apple incorporara un entorno con el que los desarrolladores (muchos de ellos procedentes del universo Unix) ya estaban familiarizados. Cocoa, derivado de OpenStep, implementó la funcionalidad de Emacs ya incorporada en OpenStep.

0 votos

¿Qué es un paso? ¿Se refiere a openstep?

0 votos

@user151019 - Gracias. Por alguna razón se me metió OneStep en el cerebro. Todo arreglado.

1voto

Jose Chavez Puntos 645

Tu suposición no es realmente correcta, no. Estos "comandos" (o atajos de teclado) no son comandos Unix. La especificación de Unix no dice nada acerca de los atajos de edición de texto en todo el sistema o similares, por lo que no se puede decir realmente que se toma prestado de allí.

Yo también dudo que la respuesta de @ankii sea correcta. No tiene sentido que "para un diseño consistente" tengas dos atajos diferentes para cada una de las muchas operaciones (como por ejemplo Ctrl-A que mencionaste teniendo el atajo probablemente más propio de Mac Cmd-Flecha Izquierda).

Otro pensamiento podría ser que emacs realmente tomó prestados estos atajos de MacOS. Tampoco es el caso. Emacs se originó en 1976, mientras que la primera versión de Macintosh System Software es de 1984.

La explicación más lógica sería que algunos o muchos programadores de sistemas MacOS desde un principio eran usuarios de editores con atajos de comandos similares a emacs (lo que incluiría al propio emacs), o que un subconjunto suficientemente grande de clientes iniciales eran usuarios de este tipo, por lo que añadieron estos atajos adicionales para que todos se sintieran como en casa.

De hecho, algunos de estos atajos se remontan a mucho tiempo atrás. Por lo que sé, tienen su origen en los "terminales informáticos" que eran la forma de acceder a muchos sistemas informáticos de gran tamaño en la década de 1970. A grandes rasgos, los terminales son el paso evolutivo después de las "impresoras de línea" como interfaz principal, y antes de las "pantallas de mapa de bits" (monitores de ordenador).

Por ejemplo, la popular serie de terminales virtuales VT100 (alrededor de 1978) venía con atajos similares. Por ejemplo, similar a Control-K en MacOS, Escape-K borraba hasta el final de línea. Tenga en cuenta que en aquellos días, la tecla ESC no estaba situada en el teclado donde está hoy.

0 votos

hcs.harvard.edu/~jrus/Site/cocoa-text.html , por muy anticuado que esté en parte, tiene más información sobre la similitud de las combinaciones de teclas de MacOS y Emacs.

1 votos

Emacs era el editor preferido por la mayoría de los primeros ingenieros de Apple frente a vi de ahí la convención establecida en los accesos directos del SDK de cacao. Ambos editores son anteriores a Apple . Utilizar las bibliotecas comunes y tenerlas ricas y consistentes es la característica que define a MacOS imo.

0 votos

No sé si se puede decir que son anteriores a Apple, yo diría que son contemporáneos. Apple se fundó en abril de 1976, mientras que vi empezó a existir ese mismo año. Del mismo modo, el primer editor llamado EMACS es de finales de 1976. Como ya escribí en mi respuesta, definitivamente son anteriores al sistema operativo Macintosh.

0voto

awy Puntos 500

Se puede ver la mayoría de los accesos directos en MacOS en https://support.apple.com/en-us/HT201236 y https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts

En cuanto a la razón por la que se pueden usar en emacs, podría ser por un diseño coherente, como las cuatro o cinco pestañas de tantas aplicaciones de iOS.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X