He estado usando vim durante muchos años y nunca he pensado realmente en ello. Un amigo mío preguntó por qué eso es así, y señaló que en nuestra cultura, la izquierda generalmente se desplazaría hacia arriba mientras que la derecha se desplazaría hacia abajo, haciendo que las teclas vim hacia atrás. Entiendo que están en la fila de inicio, lo que significa que no tienes que mover los dedos para golpearlos, pero ese es un punto completamente diferente. Básicamente, mi pregunta es: ¿alguien sabe por qué estas llaves recibieron sus propósitos actuales? Sería genial si también pudieras indicarme documentación sobre la decisión.En vim, ¿por qué se usa 'j' para abajo y 'k' para arriba?
Respuesta
La respuesta está en el wikipedia entry for vi. Bill Joy, quien escribió el modo visual de ex - que terminó siendo el vi precursor vi - usó una terminal Lear Siegler ADM3A en la cual las teclas H, J, K, L mapearon a la izquierda, abajo, arriba, a la derecha - y ha sido que camino desde entonces.
Aquí está la disposición del teclado:
Un par de otros puntos de la nota de la disposición ADM3A:
- izquierda de la Q: la tecla de escape - un poco más práctico que donde está en los teclados hoy, de ahí una buena opción para cambiar entre los modos normal e inserción.
- Arriba a la derecha: la tecla 'Inicio' dobla como la tilde (~), que posteriormente se convirtió en la abreviatura de un directorio de usuario de un usuario de Unix.
Esta es una suposición total, pero: La Ctrl + J carácter es el carácter "salto de línea", que en un tradicional TTY mueve una línea hacia abajo, proporcionando un mnemónico. K estaba justo al lado en un teclado Qwerty, debajo del segundo dedo más utilizado en la mano derecha cuando está en la posición de inicio.
vimtutor
proporciona el mnemónico de que 'J' se parece vagamente a una flecha que apunta hacia abajo, aunque puede ser o no la razón original por la que se eligió.
¿Por qué -1 esto? Es interesante y responde la pregunta. –
Una alternativa mnemotécnica es que 'j' tiene un [descensor] (http://en.wikipedia.org/wiki/Descender) mientras que' k' tiene un [ascendente] (http://en.wikipedia.org/wiki/Ascender_ (tipografía)). – hammar
Siempre pensé que era porque en el diseño de DVORAK, j y k también están uno al lado del otro. No hay muchas teclas que tienen esta propiedad en tanto DVORAK y A/QWERTY/Z
La pregunta es sobre ** por qué usar J para abajo y K para arriba ** (¿por qué no K para abajo?) En dicho diseño. – sunquan
Desde una perspectiva de la experiencia del usuario, después de abrir un archivo, siempre mueve hacia abajo, primero y se extiende hacia suele ser una operación más frecuente . Dado que de izquierda a derecha es la dirección natural para la mayoría de nosotros, tiene sentido asociar la tarea que realiza primero o más frecuentemente con la tecla de la izquierda. Puedes intentar cambiar las 2 teclas e intentar decir de qué manera es mejor. Para mí, "J" para abajo es más natural y cómodo.
"hacer que la tecla de abajo aparezca antes que la tecla de arriba" No estoy seguro de lo que quiere decir con "venir primero" ya que no veo sentido de dirección en el teclado, pero creo que estamos de acuerdo en que presionar una tecla con el dedo índice es más fácil que con el dedo medio. Por lo tanto, tiene sentido usar la tecla que casi siempre está debajo del dedo índice para abajo, la dirección más común para navegar en un archivo. – JoL
@jlmg Para mí, si A está ** a la izquierda ** de B, me parece natural decir que A viene primero y B viene después. Y prefiero poner la tecla que presiono ** primero ** y ** con más frecuencia ** en la mano izquierda en vez de la derecha. Es más natural y cómodo para mí. – sunquan
- 1. vim completado de palabra navegando con 'j' y 'k'
- 2. Aprendiendo J/K/APL
- 3. arriba() y abajo() versus Ext.getCmp()
- 4. vim ¿puedo desplazarme hacia arriba/abajo en la ventana inactiva?
- 5. ¿Por qué Vim en Windows usa \ n para buscar?
- 6. UITableView Shadows arriba y abajo
- 7. Usando TDD: "arriba hacia abajo" vs. "abajo hacia arriba"
- 8. ¿Diseño de arriba hacia abajo o de abajo hacia arriba?
- 9. Desplazar automáticamente la pantalla en vim cuando está cerca de arriba/abajo?
- 10. ¿Para qué se usa + =?
- 11. ¿Arriba y abajo numéricos en HTML?
- 12. Gramática: ¿diferencia entre arriba hacia abajo y hacia abajo? (Ejemplo)
- 13. Flechas arriba y abajo del teclado
- 14. ¿Para qué se usa Django?
- 15. Diseño y codificación: de arriba a abajo o de abajo hacia arriba?
- 16. Voltear UIViews desde arriba/abajo
- 17. ¿Cómo evitar el código duplicado cuando se opera en DOM en la dirección "arriba" y "abajo"?
- 18. detectando dedo arriba/abajo UITapGestureRecognizer
- 19. ¿Qué significa cada [y, n, q, a, d, /, K, j, J, g, e ,?] en el contexto de git -p
- 20. Clase estándar C# (¿enumeración?) Para Arriba, Abajo, Izquierda, Derecha
- 21. Código C#: primera migración, arriba/abajo?
- 22. io_service, ¿por qué y cómo se usa?
- 23. Relleno (izquierda, arriba, derecha, abajo) en WPF
- 24. ¿Diferenciar entre desplazamiento arriba/abajo en jquery?
- 25. ¿Por qué array.push() se usa para hacer un objeto?
- 26. ¿Por qué se usa @interface para definir anotaciones?
- 27. ¿Por qué Perl se usa comúnmente para escribir scripts CGI?
- 28. Plataforma azul: instancias de escala arriba y abajo
- 29. ¿Por qué https solo se usa para iniciar sesión?
- 30. jQuery Sortable Move Botón ARRIBA/ABAJO
Gran pregunta. A menudo me he preguntado esto, pero no tuve el coraje de preguntar. –
Para citar a Crockford, "Parece que una vez que algo estúpido entra, tarda mucho, mucho tiempo en sacarlo". :-) http://developer.yahoo.com/yui/theater/video.php?v=crockonjs-2 –
¿Por qué, en su opinión, la izquierda generalmente se asigna a arriba y de derecha a abajo? Realmente no lo había pensado antes, pero * siento * que debería ser al revés. Posiblemente puramente porque soy diestro (pero la mayoría de nosotros lo somos) y por lo tanto, tal vez algo así como, correcto se siente más positivo, como lo hace. Hmm. Solo estoy intrigado por qué tu reacción natural es verlo de otra manera. Sin embargo, este no es el lugar para esta discusión (me pregunto dónde está, psicología.algún intercambio de registros), si tal lugar existe). – tjm