En tant que programmeur, je passe beaucoup d'heures au clavier et je le fais depuis plus ou moins 12 ans. S'il y a quelque chose auquel je ne me suis jamais habitué pendant tout ce temps, ce sont ces micro-interruptions constantes ennuyeuses et presque inconscientes que j'éprouve lors du codage, en raison de certaines des tâches d'édition de code les plus courantes. Des choses comme un simple copier-coller à partir d'une ligne différente (ou même la même ligne), ou le déplacement de 1 ou 2 lignes vers le haut ou vers le bas à partir de la position actuelle nécessitent trop de frappe ou impliquent l'utilisation des touches fléchées ... et cela devient 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 pensé à apprendre le 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 une de ces choses dont vous ne pouvez pas vous passer.
Au travail, j'utilise VS2008, C # et R #, qui, ensemble, rendent l'édition de code beaucoup plus rapide et plus facile que jamais, mais je pense néanmoins que je pourrais profiter de ne pas avoir à utiliser la souris du tout.
Et pas même les touches fléchées.
Réponses:
J'utilise également vi et vim depuis environ 20 ans, et j'apprends toujours de nouvelles choses.
Le site Best of Vim Tips de David Rayner est une excellente liste, bien qu'il soit probablement plus utile une fois que vous vous êtes familiarisé avec vim.
Je veux également mentionner le site ViEmu qui contient d'excellentes informations sur les astuces vi / vim et en particulier l'article Pourquoi, oh POURQUOI, ces nutheads utilisent vi? ( version archivée )
la source
Puis-je vivre sans ça? Facilement.
Est-ce utile? Oui.
Raisons pour apprendre
vi est garanti sur tous les systèmes Unix et existe également sur la plupart des systèmes Linux. Ce type de large couverture vaut la peine d'apprendre.
Il est beaucoup plus rapide d'utiliser vi pour un
sudo
montage:$ sudo vi
En outre, GMail utilise les commandes vi-ish pour sélectionner et déplacer les e-mails!
Vous n'avez pas besoin d'être un maître.
Apprenez
Les bases:
:w
Enter (écriture):q!
Enter:wq
EnterDe là, le reste vous rendra plus rapide.
la source
Traversant vimtutor ne m'a fallu que 30 minutes, ce qui était suffisant pour se familiariser avec vim. Cela valait chaque seconde.
la source
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 largement des types d'environnements dans lesquels vous vous attendez à éditer.
La raison en est que ces éditeurs sont hautement optimisés pour effectuer les types de tâches que vous ferez beaucoup. Par exemple, envisagez d'ajouter le même bit de texte à la fin de chaque ligne. C'est trivial dans A Serious Text Editor, mais ridiculement lourd autrement.
Généralement, les fonctionnalités de vim de tueur sont prises en compte: A) qu'il est disponible sur à peu près tous les Unix que vous rencontrerez et B) vos doigts doivent très rarement quitter la ligne d'accueil, ce qui signifie que vous pourrez modifier 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 fichiers volumineux.
Il existe cependant de nombreuses alternatives. Emacs est l'exemple le plus courant, bien sûr, et c'est bien plus qu'un simple éditeur de texte avancé si vous y creusez vraiment. Je suis personnellement un très heureux TextMate maintenant après des années d'utilisation de vim / gvim.
L'astuce pour passer à l'un d'eux 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 le faire. Arrêtez ce que vous faites et recherchez-le.
Si vous ne faites rien d'autre, découvrez les commandes de navigation de base pour vim et Emacs car elles apparaissent partout. Par exemple, vous pouvez utiliser des 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 des contrôles de style vim dans la commande less (1), sur Slashdot , sur gmail , etc.
S'amuser!
la source
<esc> >i{
... C'est vraiment la même chose qu'avec la saisie tactile: vous apprenez une disposition de clavier, et vous vous y tenez car vous ne pourrez jamais vous arrêter vos doigts de taper les mauvaises touches sur une disposition différente.Cela en vaut vraiment la peine.
Il y a une raison évidente que quiconque utilise
Vi(m)
vous le dira, et deux autres que les gens ne semblent jamais mentionner.Voici l'évidence:
vi
est à la fois omniprésent et incroyablement puissant, et en l'apprenant une fois, vous gagnez la possibilité d'exercer ce pouvoir sur à peu près n'importe quel ordinateur doté d'un clavier.Et ce sont les raisons les moins connues d'apprendre
Vim
:Ce n'est pas la moitié de l'effort que vous pensez que ça va être. Parcourez le tuteur Vim une fois (
vimtutor
dans un shell ou dans Windows, exécutez-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 descente à partir de là. J'étais au niveau où je pouvais utiliserVim
au travail sans perdre de productivité notable en moins d'une semaine de déjeuner.C'est amusant ! L'édition de texte est comme un jeu pour moi maintenant. Je l'apprécie activement - ce qui est assez ridicule, quand on y pense.
Il y a aussi deux bonnes raisons de ne pas apprendre
Vim
:C'est addictif, et vous vous retrouverez à souhaiter pouvoir utiliser des
Vim
commandes dans tous vos ordinateurs, et à maudire quand vous ne le pouvez pas. Heureusement, au moins pour certaines situations, il existe des moyens de contourner ce problème .Encore une fois, c'est addictif, et bien que vous ne perdiez aucune productivité en utilisant réellement
Vim
, vous perdrez des heures à chercher de bons conseils pour améliorer votreVim
expérience et à lire la balise Vim sur Stack Overflow.la source
Cela vaut vraiment la peine d'apprendre Vim ou Emacs. Il vaut également la peine d'apprendre à taper. Dans les deux cas, les raisons sont les mêmes: votre réflexion n'est plus interrompue par le processus mécanique de mise en ligne de votre code .
Pour commencer, plongez et commencez à utiliser vim pour tout.
PS Le débat emacs-vs-vi est sans fin. J'utilise emacs depuis 26 ans. Si je recommençais aujourd'hui, j'apprendrais vim parce que (a) ça s'est amélioré et (b) il y a beaucoup moins de touches de modification (Ctl-Alt-V, n'importe qui) et les utilisateurs de vim semblent avoir beaucoup moins de problèmes de frappe.
la source
Vous pouvez obtenir une bonne fonctionnalité de vim en apprenant la signification de seulement 16 touches:
ijkdbw9:q!%s/nN
Esc. Vous pouvez faire les os nus avec justei:wq
Esc.Les deux premières touches que vous devez connaître sont les suivantes: Escvous amène en mode commande (le mode dans lequel vous démarrez) et
i
vous amène en mode insertion (saisie normale).Pour économiser, vous devez
:
w
puisEnterPour enregistrer et quitter, vous devez
:
wq
puisEnterPour ne pas enregistrer et forcer la fermeture, vous devez
:
q!
puisEnterPour en savoir plus, vous pouvez exécuter
vimtutor
sur la ligne de commande. C'est une leçon de longueur moyenne et bien structurée.Au
i
- delà et Esc: vous pouvez répliquer ou dépasser certaines fonctionnalités de MS Word avec seulementjkwbd3:%s/nN
.b
vous ramène un mot ( Ctrl+ ←)w
vous fait avancer un mot ( Ctrl+ →)9w
vous fait avancer de neuf motsdb
supprime le mot précédent ( Ctrl+ Backspace)d3b
supprime les trois mots précédents9j
descend de 9 lignesornithopter
Entervous emmène à l'instance suivante du mot « ornithoptère », puisn
etN
à l'occurrence suivante et précédente de « ornithoptère » respectivement.%s/confounded/dangfangled/
Enterremplace chaque "confondu" par "suspendu" (commefind and replace all
dans MS Word)N'importe lequel doit être exécuté en mode "commande" ( Esc), et non en mode insertion (
i
).la source
Je suis récemment passé à VIM, et je pense que ça vaut le coup. Si vous devez "simplement faire quelque chose", vous pouvez toujours rester en mode insertion, où vim est (principalement) comme un éditeur de texte normal.
J'ai remarqué que des choses qui ne me dérangeaient pas, comme atteindre les touches fléchées, se sentent maintenant mal et trop d'efforts. Cela a définitivement diminué le mouvement de ma main et l'utilisation de la souris, ce qui est bon pour l'ergonomie et la productivité
la source
Cela dépend de ce que vous voulez faire avec VIM. Cela n'a pas de sens de l'apprendre uniquement parce que beaucoup de gens ne peuvent pas s'en passer.
Quand je travaillais beaucoup sur des 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 je travaille principalement sur l'environnement Windows. J'ai installé VIM sur mon PC ... et je n'en ai pas besoin.
Évaluez si vous avez vraiment besoin de VIM et s'il vous soutient dans votre "flux de travail". Essaye le. Joue avec. Si vous pensez en avoir besoin, respectez-le ... la courbe d'apprentissage est très abrupte.
la source
J'ai appris vi parce que je devais.
Mon professeur fou nous a obligés à apprendre à programmer en C à l'aide d'un terminal vers un système AIX.
C'était une vraie douleur, mais ça valait le coup.
Aujourd'hui, je n'utilise vi que pour les modifications rapides ou les petits programmes.
Quand je dois partir pour un projet, j'utilise plutôt et IDE. Dans mon cas, l'idée IntelliJ est très bonne pour la tâche, car je peux coder pendant des heures sans saisir la souris.
Je ne sais pas combien de raccourcis possède VS2008, mais s'ils sont aussi détectables qu'Eclipse, je pense que vous avez des ennuis, allez pour vi.
Si vous ne modifiez PAS le code en dehors de l'IDE et que votre IDE a de bons raccourcis, vous feriez mieux de les apprendre, puis allez apprendre vi de toute façon.
:)
la source
J'utilise vi / vim depuis plus de 25 ans. Si vous connaissez déjà un éditeur de ligne de commande, vous n'avez peut-être pas besoin d'apprendre vi / vim. Mais si vous ne connaissez pas très bien d'autres éditeurs de ligne de commande, cela vaut la peine de l'apprendre. Il est assez facile d'être productif dans vi / vim avec peu d'effort.
la source
J'utilise VIM presque exclusivement maintenant.
J'utilisais Vim pour l'édition et VS Editor pour le débogage. Cela semble probablement un peu fou, mais j'ai trouvé le paradigme Vi (macros, édition basée sur les touches home, etc.) un tel coup de pouce à ma productivité, que l'édition en VS était délicate.
Merci à Viemu , je n'ai même plus besoin de changer. Ce n'est pas encore la solution parfaite (l'achèvement du code n'est parfois pas aussi élégant que dans vim natif et l'enregistrement macro n'est pas parfait), mais c'est beaucoup mieux que de basculer constamment.
La courbe d'apprentissage de Vim est probablement exagérée. Je pense qu'une fois que vous y entrez, c'est assez intuitif.
la source
Mon travail m'a obligé à prendre vim et c'est rapidement devenu une seconde nature. Maintenant, mes plaintes concernent des IDE qui n'ont pas d'émulation Vim ni de plugins. Je remarque que la touche esc est devenue mon ennemi en dehors de vim.
J'ai trouvé plusieurs émulateurs pour vi dans Visual Studio:
http://code.google.com/p/vim-visual-studio/
la source
Tout d'abord, une bonne connaissance de vi (m) vous permettra d'économiser du temps pour effectuer une édition d'urgence des fichiers de configuration sur un serveur sous siège. Il peut tenir sur une connexion ssh retardée.
Si vous l'utilisez efficacement avec un clavier ergonomique, la méthode de saisie de Vim sera la meilleure défense contre le tunnel carpien.
La meilleure façon de voir le point de Vim est de démarrer un projet décontracté à la maison, de débrancher votre souris et de coller sur vos touches fléchées.
Et lisez l'aide
la source
nano
qui est tellement plus facile à utiliser que vim et qui est presque aussi répandu.Deux avantages de vi / vim:
il est très léger
il est installé sur presque tous les systèmes * NIX
la source
Je maintiens un très gros projet Linux sur l'ordinateur distant. Il n'y a pas de choix pour utiliser Eclipse ou un IDE GTK similaire. J'y travaille depuis 3 ans. Et je mets mon vim juste pour ce projet. Et peaufiner toujours.
Maintenant, je peux faire n'importe quoi depuis le Vim: contrôle de code source, sql, débogage, compilation, navigation - navigation très rapide sur le code source de 1 Go.
Visual Studio ou Eclipse ne pouvaient pas gérer tout cela. Et si j'avais le choix, je ne changerais pas Vim en un autre éditeur ou IDE.
la source
J'ai appris Vim. Ce n'était pas trop d'efforts. Maintenant j'adore absolument ci "ci (cw V: s / from / to / g
la source
Je dirais que Vim vaut vraiment la peine d'être appris. Je l'ai récupéré l'été dernier, et c'est maintenant mon éditeur de choix pour à peu près tout (java est un tronçon, mais faisable lorsque je n'ai pas besoin d'un support d'analyse approfondi). Comme tout le monde l'a déjà affirmé, c'est un outil merveilleusement efficace.
Pour ce que ça vaut, j'ai seulement appris un assez petit sous-ensemble des fonctionnalités de vim (qui a pris un jour ou deux) à partir d'un tutoriel graphique , et quelques bricoles d' ici (longue lecture), et la fonctionnalité de recherche et remplacement, et j'ai a été accroché. J'ai appris des choses depuis, mais à loisir. Je dirais que la courbe d'apprentissage s'aplatit à ce stade, mais ensuite, je l'utilisais assez fortement et j'étais entourée par d'autres qui l'étaient aussi.
la source
Je suis dans la même situation que vous, et en tant que débutant pour Vim, je l'ai trouvé un peu intimidant à l'origine - la courbe d'apprentissage semble abrupte. D'après ce que j'ai appris en quelques heures, j'ai déjà l'impression de ne pas pouvoir vivre sans.
Voici sont un peu des liens que j'ai trouvé pour screencasts utiles pour vous Vim montrer ce qu'il est capable de faire .
Un bon conseil que Bram Moolenaar (dictateur bienveillant de Vim) a donné dans ce dernier lien est qu'il serait inefficace d'essayer d'apprendre chaque commande et fonction, il suffit de comprendre ce que vous faites qui n'est pas fonctionne très bien, cherchez un moyen de le rendre plus efficace, puis faites-en une habitude.
la source
Oui, prenez définitivement le temps d'apprendre au moins un peu de «vi» et de «vim». Ça voyage très bien.
Vous ne serez jamais bloqué lorsque vous serez confronté à un système Unix / Linux / Mac client pour lequel vous n'avez pas de capacités d'installation. Même sous Windows (si vous avez des capacités d'installation), 'Vim' est gratuit et facile à installer. (Par opposition à investir votre courbe d'apprentissage uniquement dans quelque chose comme UltraEdit, qui bien qu'un excellent éditeur ne soit pas toujours disponible pour vous tout le temps ...).
L'apprentissage vi peut vous préparer à apprendre d'autres outils comme «sed» et regex en général: des trucs qui sont généralement transférables.
De plus, si vous voulez être un vrai geek, il vous suffit de connaître 'vi / m' ou vous ressemblerez à un faux ;-)
la source
Je pense que ça vaut vraiment le temps et l'effort d'apprendre Vim. Pour moi, cela rend la saisie et la navigation autour du texte si efficaces, il est difficile d'imaginer revenir à des combos emacs ou ctrl / shift / alt / meta key.
Ne vous laissez pas intimider par toutes les fonctionnalités sophistiquées de vim. Une fois que vous l'avez suffisamment utilisé, vous découvrirez quelles commandes vous utilisez le plus et vous saurez quelles choses vous pouvez oublier.
la source
L'ubiquité étonnante de Vim, et l'ubiquité encore plus étonnante des clones Vi en général, sur les systèmes Unix seuls suffisent pour que cela vaille la peine d'être appris.
En plus de cela, toute la pensée de style Vi est quelque chose qui, selon moi, m'a rendu un peu plus productif. Pour une personne qui n'est pas habituée aux modes tels que le mode commande et le mode insertion, il semble un peu excessif de devoir entrer dans un mode juste pour insérer du texte. Mais, quand on utilise Vim depuis quelques mois et a appris pas mal de trucs et astuces, Vim semble être un atout qui semble en valoir la peine.
Bien sûr, la foule Emacs dit la même chose à propos de la pensée de style Emacs, mais j'ai abandonné l'apprentissage d'Emacs parce que Vim était plus simple et faisait le travail pour moi.
la source
J'ai appris à aimer vi après avoir vu quelqu'un qui était très habile avec lui naviguer pour effectuer des modifications dans un clip incroyablement rapide. Vous pouvez vraiment coder rapidement avec. Une autre raison pour laquelle j'aime cela est que parfois je trouve que le fait de se déplacer dans un IDE me fait vraiment mal aux mains après un certain temps et vi fournit un bon changement. Comme d'autres l'ont mentionné, il est également presque toujours disponible sur les systèmes Unix et fonctionne bien même avec des connexions minables.
Une chose que je n'ai pas vue mentionnée est que la connaissance de vi a l'avantage supplémentaire de "geek cred" dans certains cercles. Je peux penser à au moins quelques personnes qui rient quand ils voient un nouveau programmeur lancer Nedit pour apporter des modifications à un fichier.
la source
Ne soyez pas effrayé par le nombre de commandes, je n'ai rencontré personne qui en utilise plus de quelques dizaines. Je le trouve indispensable, parce que quand je pense au code, je pense au texte, passer à penser aux souris me dérange. Les gros trucs, je pense, sont de l'apprendre un peu à la fois, et n'hésitez pas à jouer - les fonctionnalités d'annulation sont idéales pour explorer ses comportements.
De plus, si vous y pénétrez profondément, vim est scriptable. Les possibilités sont littéralement infinies.
(Oui, tout cela s'applique aussi aux emacs ...)
la source
J'étais content de mon textpad et de mon monde ecplise jusqu'à ce que je doive commencer à travailler avec des serveurs fonctionnant sous Linux. Des scripts à distance et la mise en place de fichiers de configuration étaient nécessaires!
C'était difficile au début, mais maintenant je peux facilement configurer et régler mes serveurs.
la source
Vous voudrez peut-être apprendre vim car vous pourriez ne pas être satisfait des éditeurs que vous utilisez déjà.
Vous voudrez peut-être apprendre vim parce que beaucoup de gens disent que c'est cool. Regardez combien de réponses vous avez à cette question.
Je fournirai une raison supplémentaire pour apprendre vim. Il est réputé pour la qualité et l'exhaustivité de ses documents. Ainsi, vous trouverez la plupart des réponses à vos questions dans son système d'aide dès que vous réussirez à coller les mots clés appropriés dans vos requêtes d'aide.
la source
Pour apprendre vi (m) rapidement, il faut d'abord comprendre l'ensemble du design. Vim a un grand ensemble de commandes de déplacement du curseur, vérifiez-en quelques-unes (X est un caractère, # un chiffre):
jk entrez les flèches 0 $ w W b B ctrolD crtolU ctrolE ctrolY HML fX FX tX TX,; % gg G n N mX 'X' '
et bien d'autres, il serait ennuyeux d'énumérer. Beaucoup d'entre eux prennent en charge un décompte avant la commande, comme 4j pour déplacer 4 lignes vers le haut.
Maintenant, revenons à la conception, vous tapez une commande comme d pour supprimer suivie d'un mouvement de curseur et la commande s'applique au morceau de texte de la position du curseur jusqu'à la fin du mouvement. Par exemple, H se déplace vers le haut de l'écran, dH supprime vers le haut de l'écran et cH change (remplace) vers le haut de l'écran.
Cette conception est assez puissante. Il réduit également ou organise ce que vous devez apprendre. En définitive, la première étape consiste à apprendre quelques commandes de déplacement du curseur. Disons, 8 ou 10 au début. Alors vous avez presque fini.
la source
Apprendre quelque chose de nouveau en vaut toujours la peine, à mon humble avis. Je vous suggère d'imprimer une feuille de triche et de vous forcer à l'utiliser jour après jour.
la source
Vim vaut vraiment la peine d'apprendre à résumer en partie ce qui a été dit précédemment, voici les principales raisons:
En outre, si vous aimez les liaisons de touches Vim, il existe également des IDE qui incluent des liaisons vim dans leurs éditeurs pour des commandes simples, par exemple Komodo Edit .
Pour obtenir de l'aide sur l'apprentissage de Vim, essayez de taper 'vimtutor' dans votre terminal et suivez les instructions. Il y a aussi un livre qui est particulièrement bon Hacking Vim
la source
Non. L'apprentissage de vim vaut plus que l'effort.
la source