Utilisateurs de Vim, où reposez-vous votre main droite? [fermé]

116

Utilisateurs vim de longue date, gardez-vous vos doigts sur jkl;ou hjklen mode normal?

La saisie tactile standard nous apprend que la position d'origine de la main droite a l'index sur la jtouche, donc vos doigts sont allumés jkl;.

Mais les touches de mouvement vim standard le sont hjkl.

Je reviens dans vim après plus de 10 ans (omg, je suis devenu vieux quand je ne faisais pas attention) et je me retrouve à graviter vers hjkl... mais cela rend plus difficile de taper des lettres en haut à droite, des accolades, etc. Je voudrais me former à utiliser la méthode la plus efficace / pragmatique maintenant au lieu de devoir me reformer plus tard.

Utilisateurs de longue date et hardcore de vim, quelle est la meilleure pratique?


Remarque:

  1. Plus grand chevauchement avec Comment les dactylographes tactiles naviguent-ils dans vi?
  2. Je pense que cela passe le test "subjectif" parce qu'il s'agit de cultiver délibérément une meilleure pratique inconsciente et pas simplement de la préférence des gens
Sukotto
la source
26
Comment n'est-ce pas une vraie question ? Il vous demande où garder vos doigts. C'est parfaitement responsable.
alternative du
La «meilleure pratique» est subjective dans ce cas. Les gens sont différents et mettront leurs mains là où cela leur convient.
Randy Morris le
1
Je commence et j'ai ce même problème, jklç (clavier pt) est meilleur pour les meilleures pratiques de frappe sur un clavier d'ordinateur. Cela semble naturel. Je ne veux pas que vim me fasse désapprendre la bonne façon de taper. J'ai tellement appris et pratiqué.
ancm
1
@RandyMorris Les gens sont certainement différents, et ils devraient faire ce qui leur convient le mieux, mais cela ne signifie pas que certaines pratiques sont meilleures dans la plupart des situations, les touches d'accueil pour la saisie tactile générale viennent à l'esprit. Je ne souscris donc pas à l'argument selon lequel on ne peut pas répondre à cette question parce que c'est subjectif, et si c'est effectivement le cas, cela devrait être la réponse avec des informations pour démontrer pourquoi il n'y a pas de meilleure pratique claire.
jonvw

Réponses:

118

Je pense que jkl;c'est en fait l'utilisation la plus appropriée pour vi. D'une part, het lça n'a vraiment pas d'importance. w, eet bsont beaucoup plus utiles pour la navigation horizontale. En prime, il ;est facile d'accès si la langue l'exige. Avoir un doigt plus faible sur kfait mal, et vous n'avez pas besoin de votre doigt le plus fort sur le h, alors qu'il devrait être sur le jqui est probablement le plus utilisé des quatre.

alternative
la source
Oh, merde. Je suis un utilisateur de vim depuis quelques années et j'utilisais toujours hjkl pour les flèches. Même si je comprends que la méthode que vous proposez est plus efficace, je doute que j'aie jamais assez de courage pour y passer.
Mikhail Kalashnikov
2
Oh mon dieu, quel est ce terrier de lapin que j'ai commencé ...
Jason Kelley
16

Intro

Aucune des 2 solutions précédentes n'était satisfaisante à 100%. Je propose une 3ème voie, celle qui combine le meilleur des deux mondes

Ma recommandation: "bas-haut-gauche-droite"

Restez haut / bas où ils sont, puis faites les 3e et 4e doigts à gauche et à droite

Ensuite, pour éviter d'écraser les fonctionnalités de base de Vim: Jetez tout ce qui était auparavant ; au bouton h maintenant vide

En prime, la touche « l » signifie maintenant « gauche »;)

noremap lh
noremap; l
noremap h;



Les précédents "finalistes", qui utilisent tous deux la disposition "gauche-bas-haut-droite" :


Choix 1: "hjkl"

@ recommandation d'alternative . Les raccourcis clavier restent par défaut ( hjkl ), la main droite reste sur la ligne d'accueil ( jkl; )

  • avantages:
    • j (bas) et k (haut) restent sur vos 2 doigts principaux, là où ils le méritent
  • les inconvénients:
    • Vous devez tendre la main pour h (à gauche) . Même si ce n'est pas aussi utilisé que w, e, b , c'est toujours un bouton fléché sanglant et ce serait bien d'avoir sur la ligne de départ
    • En gros: les 4 doigts ne reposent pas naturellement sur les boutons fléchés. Cela confond ma main


Choix 2: "jkl;"

Faites glisser ces 4 liens sur 1 pour qu'ils soient assis sur la rangée principale:

noremap; l
noremap lk
noremap kj
noremap jh

  • avantages:
    • Aucune confusion des doigts; toutes les flèches sont sous les doigts naturellement
  • les inconvénients:
    • Comme @alternative l'a dit, le fait d'être haut / bas sur le 2ème et le 3ème doigt est très "non optimal"
    • De même, le doigt le plus fort étant à gauche est également un gaspillage
Bukov
la source
1
Merci. En ce qui concerne votre recommandation, la seule chose qui ne fonctionne pas jusqu'à présent est de basculer entre les divisions avec Ctrl + W + <direction>.
Rafał Cieślak
11

Je garde mes mains sur le rang de la maison, à la manière habituelle d'une dactylo. J'utilise rarement la touche h pour le mouvement, car déplacer un espace vers la gauche n'est généralement pas un moyen efficace de se déplacer (et ne correspond pas vraiment à l'essence de Vim).

Jason Down
la source
6

Je comprends, cela hjklest utilisé pour des raisons historiques (c'est-à-dire pourquoi vim utilise les touches hjkl comme touches fléchées ) et il n'est basé sur aucune justification ergonomique.

Personnellement, je préfère suivre l'approche recommandée par le gestionnaire de fenêtres i3 qui, comme expliqué dans la FAQ sur Pourquoi la configuration par défaut utilise jkl; au lieu de hjkl? est un choix ergonomique.

i3 utilise jkl;parce que ces touches constituent la «ligne d'accueil» sous votre main droite lorsque vous touchez la saisie.

Vérifiez ceci sur vim remappant le hjkl enjkl;

mloskot
la source
4

Bien que je comprenne la philosophie de Vim d'avoir tous les mouvements disponibles dans la rangée de la maison, j'ai trouvé que hjklc'était contre-intuitif. Une carte beaucoup plus saine que je pensais serait une configuration de type wasd avecijkl

    nnoremap j h
    nnoremap k j
    nnoremap i k

J'ai trouvé que c'était très facile de naviguer avec très naturellement.

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

Pour basculer entre / sortir du mode insertion / normal, je l'utilise personnellement Alt-ecar j'utilise presque toujours Gvim et je n'ai pas à craindre que certains terminaux aient des problèmes avec Alt.

    nnoremap <A-e> i
    inoremap <A-e> <esc>l
vexe
la source
2
Cela ressemble étrangement à emacs!
rlms