¿Por qué usar las teclas hjklen la misma línea en lugar de las teclas en un triángulo como wasdpara moverse en videojuegos?
¿Por qué no algo equivalente con la mano derecha, como ijklo pl;'?
¿Por qué usar las teclas hjklen la misma línea en lugar de las teclas en un triángulo como wasdpara moverse en videojuegos?
¿Por qué no algo equivalente con la mano derecha, como ijklo pl;'?
vim
está exento de mantenerse al día con los avances tecnológicos: 3h
sino en elj
(es por eso que tiene un "pezón" en laj
tecla). La razón de esto es que usaráb
mucho más queh
y tener;
acceso es útil en una gran cantidad de lenguaje de programación (y con un cambio, lo tiene:
cada vez más útil en Vim).Respuestas:
De http://www.catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keys/ :
fuente
hjkl
y no una forma más lógica comoijkl
?"La respuesta de Nobe4 es excelente y explica por qué la usamos
hjkl
muy bien. Sin embargo, es realmente interesante ver el teclado completo, y muchas cosas extrañas sobre vim tienen más sentido cuando puedes ver el teclado completo en el que fue diseñado. Por ejemplo, ¿por qué vi depende tanto de laesc
tecla cuando está en un lugar tan extraño e incómodo? Esta es la razón por:Como puede ver,
esc
es donde está la pestaña en la mayoría de los teclados.ctrl
es otra tecla que es un poco difícil de alcanzar, pero en una ubicación muy cómoda en este teclado (donde generalmente está el bloqueo de mayúsculas).fuente
vi
un<Leader>
mapeo? Pensé que era un invento posterior ...:help <leader>
no tiene el{not in Vi}
texto de la firma , y dice que vi tenía:map
(aunque no:noremap
), así que estoy bastante seguro de que vi tenía líder. Incluso si no lo hiciera, me imagino la historia del teclado vi que al menos un tanto influir en el diseño de vim.<leader>
característica en vi.:map
en absoluto)En cuanto a por qué estas flechas se imprimieron en estas teclas ... es porque podrían usarse con la tecla de control para el movimiento del cursor local. Ctrl-H y Ctrl-J (retroceso y avance de línea) son obvios, y una mnemónica fácil incluso hoy en día. Ctrl-K es "pestaña vertical", pero a veces se usaba para salto de línea inverso en terminales pre ANSI. El uso de Ctrl-L para un cursor no destructivo hacia adelante probablemente se eligió en función de la ubicación del teclado.
También puede haber notado en la imagen del teclado en la otra respuesta que "INICIO" está en la tecla
^
/~
. Por supuesto, Ctrl- ^ aloja el cursor (se envía a la parte superior izquierda de la pantalla, o abajo a la izquierda, según el modo).Estas asignaciones de control también se utilizaron para terminales Wyse, el protocolo Kermit, y se admitieron en algunas versiones de PC ANSI.SYS.
Fuentes:
kcuf1=^L
ykcuu1=^K
fuente