Usuarios de Vim, ¿dónde descansan la mano derecha? [cerrado]

116

Usuarios de vim desde hace mucho tiempo, ¿mantienen los dedos en modo normal jkl;o hjklen modo normal?

La escritura táctil estándar nos enseña que la posición inicial para la mano derecha tiene el dedo índice en la jtecla, por lo que sus dedos están encendidos jkl;.

Pero las teclas de movimiento vim estándar sí lo son hjkl.

Estoy volviendo a vim después de más de 10 años (Dios mío, envejecí cuando no estaba prestando atención) y me encuentro gravitando hacia hjkl... pero eso hace que sea más difícil escribir letras en la parte superior derecha, llaves, etc. Me gustaría entrenarme para usar el método más eficiente / pragmático ahora en lugar de tener que volver a entrenarme más tarde.

Usuarios incondicionales de vim desde hace mucho tiempo, ¿cuál es la mejor práctica?


Nota:

  1. Mayor superposición con ¿Cómo navegan los mecanógrafos táctiles en vi?
  2. Creo que esto pasa la prueba "subjetiva" porque se trata de cultivar deliberadamente una mejor práctica inconsciente y no simplemente de las preferencias de las personas.
Sukotto
fuente
26
¿Cómo no es esto una pregunta real ? Está preguntando dónde debes mantener tus dedos. Eso es perfectamente responsable.
alternativa
La "mejor práctica" es subjetiva en este caso. Las personas son diferentes y pondrán sus manos donde les resulte cómodo.
Randy Morris
1
Estoy comenzando y tengo el mismo problema, jklç (teclado pt) es mejor para la mejor práctica al escribir en un teclado de computadora. Se siente natural. No quiero que vim me haga desaprender la forma correcta de escribir. Pasé tanto tiempo aprendiendo y practicando.
ancm
1
@RandyMorris Ciertamente, las personas son diferentes y deberían hacer lo que les funcione mejor; sin embargo, eso no significa que ciertas prácticas sean mejores en la mayoría de las situaciones; me vienen a la mente las teclas de inicio para la mecanografía táctil general. Así que no compro el argumento de que esto no se puede responder porque es subjetivo, y si ese es el caso, esa debería ser la respuesta con información para demostrar por qué no hay una mejor práctica clara.
jonvw

Respuestas:

118

Creo que ese jkl;es en realidad el uso más apropiado para vi. Por un lado, hy lrealmente no importa mucho. w, ey bson significativamente más útiles para la navegación horizontal. Como beneficio adicional, ;es fácil de acceder si el idioma lo requiere. Tener un dedo más débil kduele, y no necesitas tu dedo más fuerte en el h, cuando debería estar en el jque probablemente sea el más utilizado de los cuatro.

alternativa
fuente
Oh mierda. Soy usuario de vim desde hace algunos años y siempre usé hjkl para las flechas. Aunque entiendo que la forma que sugieres es más eficiente, dudo que alguna vez tenga el valor suficiente para cambiarla.
Mikhail Kalashnikov
2
Oh Dios, ¿qué es esta madriguera de conejo que comencé a bajar ...
Jason Kelley
16

Intro

Ninguna de las 2 soluciones anteriores fue 100% satisfactoria. Propongo una tercera vía, una que combina lo mejor de ambos mundos.

Mi recomendación: "abajo-arriba-izquierda-derecha"

Manténgase arriba / abajo donde están, luego haga el tercer y cuarto dedo hacia la izquierda y hacia la derecha

Luego, para evitar sobrescribir las características básicas de Vim: Tire lo que solía estar encendido ; al botón h ahora vacío

Como un lindo bono, la tecla " l " ahora significa " izquierda ";)

noremap lh
noremap; l
noremap h;



Los "subcampeones" anteriores, que utilizan el diseño "izquierda-abajo-arriba-derecha" :


Opción 1: "hjkl"

Recomendación de @ alternativa . Las combinaciones de teclas permanecen predeterminadas ( hjkl ), la mano derecha permanece en la fila de inicio ( jkl; )

  • pros:
    • j (hacia abajo) y K (arriba) permanecen en su primaria 2 dedos, en los que se merecen
  • contras:
    • Tienes que estirar la mano para h (izquierda) . Incluso si no se usa tanto como w, e, b , sigue siendo un maldito botón de flecha y sería bueno tenerlo en la fila de inicio
    • Básicamente: los 4 dedos no descansan naturalmente sobre los botones de flecha. Esto confunde mi mano


Opción 2: "jkl;"

Desliza esos 4 enlaces sobre 1 para que se asienten en la fila de inicio:

noremap; l
noremap lk
noremap kj
noremap jh

  • pros:
    • Sin confusión de dedos; todas las flechas están debajo de los dedos naturalmente
  • contras:
    • Como dijo @alternative, estar arriba / abajo en el segundo y tercer dedo es muy "no óptimo"
    • Del mismo modo, el dedo más fuerte a la izquierda también es un desperdicio.
Bukov
fuente
1
Gracias. En cuanto a su recomendación, lo único que no funciona hasta ahora es cambiar entre divisiones con Ctrl + W + <direction>.
Rafał Cieślak
11

Mantengo mis manos en la fila de inicio, en la forma habitual de un mecanógrafo. Rara vez utilizo la tecla h para el movimiento, ya que mover un espacio hacia la izquierda no suele ser una forma eficiente de moverse (y realmente no se ajusta a la esencia de Vim).

Jason Down
fuente
6

Entiendo, que hjklse usa por razones históricas (es decir, aquí se explica por qué vim usa las teclas hjkl como teclas de flecha ) y no se basa en ningún fundamento ergonómico.

Personalmente, prefiero seguir el enfoque recomendado por el administrador de ventanas i3, que como se explica en las preguntas frecuentes sobre ¿Por qué la configuración predeterminada usa jkl? en lugar de hjkl? es una elección ergonómica.

i3 se utiliza jkl;porque estas teclas forman la "fila de inicio" debajo de su mano derecha cuando se escribe con el tacto.

Compruebe esto en vim reasignando el hjkl ajkl;

Mloskot
fuente
4

Si bien entiendo la filosofía de Vim de tener todo el movimiento disponible en la fila de inicio, descubrí hjklque es contradictorio. Un mapa mucho más sensato que pensé que sería una configuración tipo wasd conijkl

    nnoremap j h
    nnoremap k j
    nnoremap i k

Encontré que esto es muy fácil de navegar de forma muy natural.

j:left
i:up
k:down
l:right

Para alternar dentro / fuera del modo de inserción / normal, yo personalmente uso, Alt-eya que casi siempre uso Gvim y no tengo que preocuparme de que algunos terminales tengan problemas con Alt.

    nnoremap <A-e> i
    inoremap <A-e> <esc>l
vexe
fuente
2
¡Eso suena sospechosamente a emacs!
rlms