Je l'ai lu dans de nombreux articles ( par exemple ) qu'il est déconseillé d'utiliser les touches fléchées en mode normal. Quelqu'un pourrait-il expliquer pourquoi est-ce considéré comme une mauvaise pratique, voire pas du tout?
key-bindings
cursor-movement
Ankit Jain
la source
la source
hjkl
dans Dvorak. C'est certainement moins sensé que sur qwerty, mais je ne sais pas si je l'appellerais "difficile à utiliser"; ce ne sont que des clés, et ce n’est pas difficile de les atteindre ni de quoi que ce soit une fois que vous y êtes habitué.hjkl
selon lesquels la meilleure option pour déplacer un document devrait être. La vérité est que certains claviers avaient les touches fléchées activéeshjkl
au moment de la création de vi. Vi a donc utilisé les mêmes touches en mode normal pour correspondre à la disposition du clavier. Voici un article avec une photo du clavier: catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keyshjkl
. Bons. Mais ils deviennent gonflés au statut de dogme, au moins en partie, parce que les gens doivent se sentir mieux que les autres.hjkl
ne sont pas les meilleurs de dvorak. Mais en tant qu'utilisateur dvorak, je peux les trouver un peu pratiques, car ils sont jumelés: commejk
sur un côté du tableau; ethl
de l'autre côté.Réponses:
En fait, ce n’est pas une mauvaise pratique.
De nombreuses personnes ( y compris le document de Vim, comme l'indique la réponse de @B Layer ) soutiennent que vous ne devez pas utiliser les touches fléchées, car cela vous fait bouger les mains de la rangée de départ (la deuxième ligne de votre clavier où vous en avez hjkl) et cela vous rend moins efficace. .
C’est (au moins à l’OMI) un mauvais résultat de la part du cercle de "puristes" de vim: les nouveaux utilisateurs le suivent aveuglément, certains désactivent même les touches fléchées et se plaignent ensuite de ne pas être aussi efficaces qu’avant.
Si vous vous sentez plus à l' aise: La seule règle à l' utilisation réelle vim est de l' utiliser efficacement Leftet Rightque het l que ce soit, utilisez les touches fléchées. Vim a même l'
set mouse=a
option si vous voulez utiliser une souris!Une fois que vous vous habituez à vim et mieux avec les différents mouvements disponibles ( f, t, ,, ;, w, b, e, ge, et au fond tout
:h quickref
) vous pourriez réaliser que vous ne pas utiliser les touches fléchées beaucoup. Et si vous les utilisez toujours, ce n'est pas un problème, utilisez ce que vous êtes le plus efficace.Notez que l'argument de ne pas quitter la ligne d'arrivée pour plus d'efficacité n'est pas si bon à mon avis: Si vous jetez un coup d'œil à Pourquoi vim utilise-t- il hjkl, vous verrez que ces clés ont été choisies parce qu'il n'y avait pas de flèche clés quand Vi a été écrit. On pourrait soutenir que peut-être si les claviers étaient différents à ce moment-là, personne ne considérerait que l'utilisation des touches fléchées n'est pas une bonne pratique.
la source
hjkl
à soulager la douleur de mon poignet.Je ne sais pas si c'est vraiment pertinent, mais je suis un ancien, alors voici un peu d'histoire.
Auparavant, les terminaux VT100 possédaient des touches fléchées, mais en appuyant sur l'un d'eux transmettait une séquence d'échappement comme
<ESC>[A
pour monter,<ESC>[B
descendre, etc.De plus, étant un terminal série communiquant à 9600 bauds, l'utilisateur pouvait appuyer trop rapidement sur les touches pour transmettre toute la séquence, ce qui entraînerait une pression sur une touche pour interrompre la séquence de la touche précédente et créer de la confusion vi.
Ceci entraînerait inexplicablement que vi passe en mode insertion et insère [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B [B]]))] B »dans votre fichier si vous maintenez la flèche vers le bas. Je dis inexplicablement car rien dans cette séquence ne devrait passer en mode insertion et le fait que chaque séquence commence par un caractère ESC aurait dû quitter le mode insertion. Mais quand même, il y aurait des déchets. Pas toujours - juste quand tu étais pressé.
On en a vite eu marre et on a décidé de s'en tenir aux
hjkl
clés.la source
Bien que je convienne avec @statox que personne ne devrait être châtié, évité, excommunié ou pris de plumes s’il décide d’utiliser les touches fléchées ... utilisez votre logiciel comme bon vous semble ... Je ne voudrais pas exsuder une attitude de laisser-faire si je guidais un nouvel utilisateur ouvert d’esprit. Je leur recommande fortement de commencer par suivre les meilleures pratiques. Ce sont des "meilleures pratiques" pour une raison ... elles ont été utilisées à bon escient par de nombreuses personnes qui sont venues avant vous et moi.
Heck, même propres coups de pouce d'aide de vim dans cette direction , mais pas sans hyperbole ( « très bas lent ») ...
Il y a aussi le fait que les choix que vous faites au début peuvent devenir des habitudes difficiles à changer si vous voulez changer à l'avenir. Donc, toutes les autres choses étant égales par ailleurs, pourquoi ne pas adopter maintenant l'habitude recommandée plutôt que de prendre le risque que l'utilisation des touches fléchées soit inefficace ou tue les carpiens?
Dans l’ensemble, envisagez de faire un effort honnête pour faire les choses sans les touches de direction. Après un laps de temps raisonnable, si vous ne pouvez tout simplement pas vivre sans haut / bas / gauche / droite ... ne le faites pas.
... est ce que je dirais à un nouvel utilisateur qui était intéressé par mon opinion. Ne le prenez pas personnellement si vous n'êtes pas d'accord (je vous parle, votant vers le bas).
la source
don't think it's necessary to rank best practices
Eh bien, il me semble que nous devrions nous concentrer sur les choses qui nous donnent le meilleur rapport qualité-prix dans la vie, étant donné que les ressources sont limitées et que la vie est courte. Je sais que les clés hjkl ont un cœur dû à une enfance malmenée qui joue au voleur, voyou, angband, etc. sur un ordinateur portable sans pavé numérique, mais certaines personnes ont mieux passé leur enfance et devront "désapprendre" les touches de direction. Je pense que l'apprentissage des mouvements, gammes, etc. est un moyen beaucoup plus utile de passer du temps.D’autres réponses ont indiqué que la perte d’efficacité due au fait de déplacer vos mains du rang opposé n’était pas si grave, et je suis plutôt d’accord avec vous. Cependant, ce qui est important, c’est lorsque vous apprenez vim, en utilisant toujours les touches fléchées pour éviter de revenir en mode normal.
En d'autres termes, utiliser un seul utilisateur ←lorsque vous en utilisiez un hne représente pas une perte de productivité énorme, mais utiliser un utilisateur ←←←←←←←←←←où vous auriez pu l'utiliser EscI est une perte énorme.
C'est pourquoi les gens vous disent d'éviter les touches fléchées lorsque vous apprenez vim, car cela vous oblige à apprendre le mode normal au lieu de ne jamais quitter le mode insertion. Le mode normal est où tous vos gains d'efficacité sont.
la source
hjkl
." (Conserver l'hyperbole intentionnelle.)←
vous auriez pu utiliser1
0
←
ou, encore plus simple,Home
. Ce dernier fonctionne même dans Windows Notepad.Les gens disent que vous ne devriez pas utiliser les touches fléchées pour deux raisons principales. Certains prétendent que hjkl est préféré car il garde les mains sur la ligne d'arrivée, ce qui n'est pas faux , mais cela n'a pas d'importance. D'autres, y compris moi-même, diraient que vous ne devriez pas utiliser les touches fléchées si vous déplacez plus de quelques caractères, mais vous ne devriez pas non plus utiliser hjkl.
L'important n'est pas de savoir quelles clés vous utilisez, mais plutôt combien . Si vous voulez aller au début du mot, vous ne frappez pas
hhh
; vous frappezb
. La fin du mot este
, pasllll
. A partir de la ligne:0
, la fin de la ligne:$
. Et rien de plus,/search
pour le texte qui existe où vous voulez aller. (ou celle des commandes de mouvement avancées que vous préférez).Mais chaque fois que vous vous retrouvez à taper la même touche plus de deux fois de suite, il existe un meilleur moyen de le faire.
la source
Une déclaration plus précise pourrait être "utiliser les touches de direction est une mauvaise pratique pour essayer de mieux apprendre vim " . Les personnes qui découvrent vim sont habituées à utiliser les touches fléchées pour se déplacer et donc n’apprennent rien
hjkl
, n’ont donc pas la chance de voir si cela est préférable.Personnellement, après avoir acquis une certaine familiarité avec vim, j’ai désactivé les touches fléchées pendant un certain temps pour bien les maîtriser,
hjkl
puis les a réactivées plus tard pour simplifier mon travail.vimrc
. La sagesse conventionnelle tient dans mon cas; une fois que j'ai su utiliser les deuxhjkl
touches de direction et les flèches, je me suis retrouvé presque exclusivement à utiliser les anciennes.la source
La réponse habituelle implique l'efficacité. Vous avez probablement été formé au fil des ans à la dactylographie, qui vous permet de garder la main sur asdf et jkl;. Une grande majorité des raccourcis clavier dans Vi sont conçus autour de ce fait, y compris les commandes de mouvement hjkl.
Personnellement, j'utilise les deux. J'utilise hjkl lorsque je modifie activement de grandes sections de texte, ainsi que les touches fléchées pour faire défiler les fichiers journaux (et |, g et / lorsque je modifie ponctuellement un fichier). C'est ce qui me convient le mieux, et dans un cas comme celui-ci, c'est ce qui compte vraiment.
la source
Il y a longtemps, de nombreux terminaux ne possédaient pas de touches fléchées ou ne les possédaient pas tous les quatre. Les systèmes logiciels nécessitant une navigation fournissaient normalement une sorte d’approche de navigation sans utiliser les touches de direction, et hjkl de vi est un exemple canonique. (Un autre exemple classique est le logiciel ^ E- ^ S- ^ X- ^ D de WordStar.) À mesure que l'utilitaire de navigation au clavier devenait de plus en plus évident, de plus en plus de nouveaux terminaux commençaient à être dotés de touches fléchées, et les systèmes logiciels les associaient souvent aux anciennes la navigation. Cependant, cela posait un problème de transférabilité: si les enfants formés dans les écoles devaient désormais compter sur une fonction aussi sophistiquée que les touches fléchées, il était possible qu'ils ne puissent pas être productifs avec - une fois commun - claviers sans touches fléchées.
Ainsi, les enseignants des cours d'initiation à l'informatique de base ont commencé à conseiller avec prudence aux étudiants d'apprendre à utiliser le plus petit dénominateur commun afin d'optimiser leur employabilité. Et cette pratique a longtemps résisté à toutes les raisons qu’elle aurait pu avoir auparavant.
Dans les implémentations modernes de vi, la principale raison de préférer hjkl est qu’il est légèrement plus rapide d’utiliser les touches déjà sous la main que de déplacer celle-ci à l’endroit où se trouvent vos touches de direction. Éviter le changement de contexte de votre main a bien sûr l'inconvénient de devoir effectuer un changement de contexte de vi. De nos jours, lorsque la vitesse de frappe est très précieuse pour les humains, que vous choisissiez l’une ou l’autre est plutôt une question de préférence personnelle, et il n’ya plus rien de mal en soi à utiliser les touches fléchées, le cas échéant.
la source