Question Quels sont les avantages de l'apprentissage de Vim? [fermé]


En tant que programmeur, je passe beaucoup de temps au clavier et je le fais depuis plus de 12 ans, plus ou moins. S'il y a quelque chose auquel je ne me suis jamais habitué pendant tout ce temps, ce sont ces micro-interruptions incessantes et presque inconscientes que j'éprouve pendant le codage, en raison de certaines des tâches d'édition de code les plus courantes. Des choses comme un simple copier-coller d'une ligne différente (ou même la même ligne), ou déplacer 1 ou 2 lignes vers le haut ou vers le bas à partir de la position actuelle nécessitent trop de dactylographie ou impliquent l'utilisation des touches fléchées ... pire quand je veux aller plus loin - je finis par utiliser la souris. Imaginez maintenant ce même scénario mais sur un ordinateur portable.

J'ai toujours considéré l'apprentissage du VIM mais le temps nécessaire pour le maîtriser m'a toujours donné envie de prendre du recul.

J'aimerais entendre des gens qui l'ont appris et si cela finit par être l'une de ces choses dont vous ne pouvez pas vous passer.

Au travail, j'utilise VS2008, C # et R #, qui ensemble rendent le code d'édition beaucoup plus rapide et plus facile que jamais, mais même si je pense que je pourrais profiter de ne pas avoir à utiliser la souris du tout.

Et pas même les touches fléchées.


470


origine


Réponses:


J'ai utilisé vi et vim également pendant 20 ans et j'apprends encore de nouvelles choses.

David Rayner Les meilleurs conseils de Vim site est une excellente liste, même si elle est probablement plus utile une fois que vous avez une certaine connaissance de vim.

Je veux aussi mentionner le ViEmu site qui a de bonnes infos sur conseils vi / vim et surtout l'article Pourquoi, oh POURQUOI, est-ce que ces cinglés utilisent vi? (version archivée)


250



Pourrais-je vivre sans? Facilement.

Est-ce utile? Oui.

Raisons d'apprendre

  • Il est garanti que vi existe sur tous les systèmes Unix et existe également sur la plupart des systèmes Linux. Ce type de couverture élargie rend l'apprentissage utile.

  • Il est beaucoup plus rapide d'utiliser vi pour un sudo modifier:

    $ sudo vi

  • En outre, GMail utilise des commandes vi-ish pour sélectionner et déplacer des e-mails!

Vous n'avez pas besoin d'être un maître.

Apprends juste

 Les bases:

  • Comment passer du mode commande au mode insertion je
  • Comment basculer du mode insertion au mode commande Esc
  • Comment naviguer dans une ligne en mode commande k
  • Comment naviguer dans une ligne en mode commande j
  • Comment naviguer dans un caractère en mode commande h
  • Comment naviguer à droite d'un personnage l
  • Comment enregistrer un fichier :wEntrer (écrire)
  • Comment quitter sans enregistrer (en mode commande) :q!Entrer
  • Comment annuler tu
  • Comment refaire Ctrl+r
  • Vous pouvez combiner écrire et quitter (en mode commande): :wqEntrer

De là, le reste vous rendra plus rapide.


185



Courir à travers vimtutor Cela ne m'a pris que 30 minutes, ce qui était suffisant pour me familiariser avec vim. Cela valait chaque seconde.


138



Si vous êtes un programmeur qui édite beaucoup de texte, il est important d’apprendre un éditeur de texte sérieux. L'éditeur de texte sérieux que vous apprenez n'est pas très important et dépend en grande partie des types d'environnements que vous prévoyez d'éditer.

La raison en est que ces éditeurs sont hautement optimisés pour effectuer les tâches que vous allez accomplir. Par exemple, pensez à ajouter le même bit de texte à la fin de chaque ligne. C'est trivial dans A Serious Text Editor, mais ridiculement encombrant sinon.

Habituellement, les fonctions de tueur de vim sont considérées: A) qu'il est disponible sur presque tous les Unix que vous rencontrerez et B) vos doigts ont très rarement à quitter la rangée de la maison, ce qui signifie que vous serez en mesure d'éditer le texte très, très rapidement . Il est également généralement très rapide et léger même lors de l'édition de gros fichiers.

Il y a beaucoup d'alternatives, cependant. Emacs est l'exemple le plus courant, bien sûr, et c'est bien plus qu'un éditeur de texte avancé si vous le creusez vraiment. Je suis personnellement très heureux TextMate utilisateur maintenant après des années d'utilisation de vim / gvim.

L'astuce pour passer à l'un de ceux-ci est de vous forcer à les utiliser comme ils étaient destinés. Par exemple, dans vim, si vous effectuez manuellement chaque étape d'un processus en plusieurs étapes ou si vous utilisez les touches fléchées ou la souris, il existe probablement une meilleure façon de procéder. Arrêtez ce que vous faites et cherchez-le.

Si vous ne faites rien d'autre, apprenez les commandes de navigation de base pour Vim et Emacs, car elles apparaissent partout. Par exemple, vous pouvez utiliser les contrôles de style Emacs dans n'importe quel champ de saisie de texte sous Mac OS, dans la plupart des shells Unix, dans Eclipse, etc. Vous pouvez utiliser les contrôles de type vim dans le Moins(1) commande, sur Slashdot, sur Gmail, etc.

S'amuser!


69



Ses absolument vaut la peine.

Il y a une raison évidente que quiconque utilise Vi(m) vous dira, et deux autres que les gens ne semblent jamais mentionner.

Voici l'évidence:

  1. vi est à la fois omniprésent et incroyablement puissant, et en l'apprenant une fois, vous devenez capable d'exercer ce pouvoir sur pratiquement n'importe quel ordinateur doté d'un clavier.

Et ce sont les raisons les moins connues d'apprendre Vim:

  1. Ce n'est pas la moitié des efforts que vous pensez que ça va être. Courir à travers le Vim tuteur une fois que (vimtutor sur un shell, ou dans Windows, lancez-le à partir du dossier Vim dans le menu Démarrer), et vous serez déjà bien sur votre chemin vers la compétence, et tout est en baisse à partir de là. J'étais au niveau où je pouvais utiliser Vim au travail sans subir de baisse notable de productivité en moins d'une semaine de repas.

  2. Ses amusement! Modifier du texte est comme un Jeu à moi maintenant. J'en profite activement - ce qui est assez ridicule, quand on y pense.

Il y a aussi deux bonnes raisons de ne pas apprendre Vim:

  1. C'est addictif, et vous trouverez vous souhaitant que vous pourriez utiliser Vimcommandes dans tout votre informatique, et maudire chaque fois que vous ne pouvez pas. Heureusement, au moins pour certaines situations, il y a façons  obtenir  autour  ce.

  2. Encore une fois, cela crée une dépendance, et bien que vous ne perdiez aucune productivité en utilisant  Vim, vous perdrez des heures à chercher de bons conseils pour faire de votre Vim l'expérience encore meilleure, et la lecture de la Tag Vim sur le dépassement de pile.


36



Cela vaut vraiment la peine d'apprendre vim ou emacs. Cela vaut également la peine d'apprendre à toucher. Dans les deux cas, les raisons sont les mêmes: votre réflexion n'est plus interrompue par le processus mécanique de saisie de votre code sur l'écran.

Pour commencer, plongez et commencez à utiliser vim pour tout.

P.S. Le débat emacs-vs-vi est interminable. J'utilise emacs depuis 26 ans. Si je recommençais aujourd'hui j'apprendrais vim parce que (a) ça va mieux et (b) il y a beaucoup moins de touches de modification (Ctl-Alt-V, n'importe qui) et les utilisateurs de vim semblent avoir moins de problèmes de frappe.


32



Vous pouvez obtenir de bonnes fonctionnalités de vim en apprenant la signification de seulement 16 touches: ijkdbw9:q!%s/nNEsc. Vous pouvez faire les os nus avec juste i:wqEsc.

Les deux premières clés que vous devez savoir sont: Esc vous emmène en mode commande (le mode dans lequel vous démarrez), et i vous amène au mode d'insertion (saisie normale).


Pour économiser, vous devez

  1. sortir du mode de frappe (Esc)
  2. tapez un deux-points :
  3. tapez minuscule w puis Entrer

Pour enregistrer et quitter, vous devez

  1. sortir du mode de frappe (Esc)
  2. tapez un deux-points :
  3. tapez minuscule wq puis Entrer

Pour ne pas enregistrer et quitter la force, vous devez

  1. sortir du mode de frappe (Esc)
  2. tapez un deux-points :
  3. tapez minuscule q! puis Entrer

Pour en savoir plus, vous pouvez courir vimtutor sur la ligne de commande. C'est une leçon de longueur moyenne, bien structurée.

Au-delà i et Esc: vous pouvez répliquer ou dépasser certaines fonctionnalités MS Word avec seulement jkwbd3:%s/nN.

  1. b vous ramène un mot (Ctrl+)
  2. w vous emmène un mot (Ctrl+)
  3. 9w vous emmène en avant neuf mots
  4. db supprime le mot précédent (Ctrl+Retour arrière)
  5. d3b supprime trois mots précédents
  6. 9j descend de 9 lignes
  7. /  ornithopter  Entrer vous emmène à la prochaine instance du mot "ornithoptère", puis n et N à l'occurrence suivante et précédente de "ornithoptère" respectivement.
  8. :%s/confounded/dangfangled/  Entrer substitue tout "confondu" avec "dangfangled" (comme find and replace all en MS Word)

N'importe lequel d'entre eux devrait être exécuté en mode "commande" (Esc), pas le mode d'insertion (i).


17



Je suis récemment passé à VIM, et je pense que ça vaut le coup. Si vous avez besoin de "faire quelque chose", vous pouvez toujours rester en mode insertion, où vim est (presque) comme un éditeur de texte normal.

J'ai remarqué que les choses qui ne m'avaient pas dérangé, comme atteindre les touches fléchées, se sentent maintenant mal et trop d'effort. Il a définitivement diminué mon mouvement de la main et l'utilisation de la souris, ce qui est bon pour l'ergonomie et la productivité


16



Cela dépend de ce que vous voulez faire avec VIM. Cela n'a pas de sens de l'apprendre seulement parce que beaucoup de gens ne peuvent pas vivre sans elle.

Lorsque je travaillais beaucoup sur les environnements UNIX, je ne pouvais pas m'en passer. Même lorsque VIM n'était pas installé sur une machine UNIX, je pouvais au moins utiliser vi. Vous pouvez toujours compter dessus - même si la machine n’est pas la vôtre (celle du client).

Maintenant, je programme en C # et travaille principalement sur un environnement Windows. J'ai installé VIM sur mon PC ... et je n'en ai pas besoin.

Evaluez si vous avez vraiment besoin de VIM et si cela vous soutient dans votre "flux de travail". Essaye le. Joue avec. Si vous pensez en avoir besoin, tenez-vous-y ... la courbe d'apprentissage est très raide.


12



J'ai appris vi parce que je devais le faire.

Mon professeur fou nous a forcés à apprendre à programmer en C en utilisant un terminal à un système AIX.

C'était une vraie douleur, mais ça valait le coup.

Aujourd'hui, je n'utilise que vi pour les éditions rapides ou les petits programmes.

Quand je dois aller chercher un projet, je préfère utiliser IDE. Dans mon cas, l'idée IntelliJ est très bonne à la tâche, car je peux coder des heures sans saisir la souris.

Je ne sais pas combien de raccourcis VS2008 a, mais s'ils sont aussi détectables que Eclipse, je pense que vous êtes en difficulté pour vi.

Si vous n'éditez PAS de code en dehors de l'EDI et que votre EDI dispose de bons raccourcis, il vaut mieux les apprendre, et ensuite, aller et apprendre vi quand même.

:)


10