Je suis un programmeur Ruby qui essaie de passer de Textmate à MacVim, et j'ai du mal à parcourir les listes gargantuesques de choses que vous pouvez faire dans VIM et toutes les touches pour eux. J'en ai assez d'entendre "Vous pouvez utiliser" I "pour insérer du texte, ou" a "pour ajouter du texte après le caractère, ou" A "pour ajouter du texte à la fin de la ligne, ou…" Je ne peux pas imaginer tout le monde utilise les 20 touches différentes pour parcourir le texte, une dizaine de touches pour commencer à ajouter du texte et 18 façons de sélectionner visuellement un bloc interne. Ou vous!?
Ma feuille de triche idéale serait les 30 à 40 touches ou commandes les plus utilisées que tout le monde utilise pour écrire du code quotidiennement, ainsi que les plugins essentiels absolus que les rubisistes utilisent quotidiennement et les 10 commandes les plus utilisées pour eux. En théorie, une fois que j'ai cela et commencer à devenir aussi compétent dans VIM que je suis dans TextMate, alors je peux commencer à apprendre les milliers d'autres commandes VIM qui me fera plus efficace.
Ou est-ce que j'apprends VIM de la mauvaise façon?
la source
Réponses:
Voici une feuille de conseils que j'ai rédigée une fois, avec les commandes que j'utilise régulièrement:
Références
Général
<Esc>
vous permet de sortir de n'importe quel mode et de revenir au mode commandeLa navigation
Édition
Insertion
Toutes les commandes d'insertion se terminent par
<Esc>
pour revenir au mode commande.En changeant
<motion>
change le texte dans le sens du mouvementSuppression
<motion>
supprime dans le sens du mouvementCouper et coller
Blocs
Global
Recherche
Des dossiers
name
écrire le fichier sur le disque commename
les fenêtres
Navigation à la source
tags
fichier); ^ T retour à la position précédente (pile arbitraire de positions maintenue)Afficher les changements locaux
Vim possède certaines fonctionnalités qui facilitent la mise en évidence des lignes qui ont été modifiées à partir d'une version de base dans le contrôle de code source. J'ai créé un petit script vim qui facilite les choses : http://github.com/ghewgill/vim-scmdiff
la source
Esc
clé (et RSI?), Vous pouvez utiliser^[
.^c
fonctionne aussi (mais ne développe pas les abréviations). Source: vim.wikia.com/wiki/Avoid_the_escape_keyhttp://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
C'est la meilleure chose qui soit pour apprendre le VIM.
la source
Voici une excellente aide-mémoire pour vim :
la source
Avez-vous parcouru le didacticiel intégré de Vim? Sinon, passez à la ligne de commande et tapez
vimtutor
. C'est un excellent moyen d'apprendre les commandes initiales.Vim a une quantité incroyable de flexibilité et de puissance et, si vous êtes comme la plupart des utilisateurs de vim, vous apprendrez beaucoup de nouvelles commandes et oublierez les anciennes, puis les réapprendrez. L'aide intégrée est bonne et mérite une navigation périodique pour apprendre de nouvelles choses.
Il existe plusieurs bonnes FAQ et cheatsheets pour vim sur Internet. Je recommanderais de rechercher
vim + faq
etvim + cheatsheet
. Cheat-Sheets.org # vim est une bonne source, tout comme le wiki Vim Tips .la source
~/.vimrc
,~/.gvimrc
et~/.vim
dans une archive tar lorsque je dois configurer quelque chose. Copier cela et extraire les fichiers me permet d'exécuter vim avec toutes mes commandes et mes couleurs habituelles en quelques minutes sur Windows, Mac et Linux.Ce que la plupart des gens est de commencer avec les bases nues, comme peut - être i, yw, yyet p. Vous pouvez continuer à utiliser les touches fléchées pour vous déplacer, sélectionner du texte avec la souris, utiliser les menus, etc. Ensuite, lorsque quelque chose vous ralentit, vous recherchez le moyen le plus rapide de le faire et ajoutez progressivement de plus en plus de commandes. Vous pourriez apprendre une nouvelle commande par jour pendant un certain temps, puis elle passera à une par semaine. Vous vous sentirez assez productif dans un mois. Après un an, vous aurez un répertoire assez solide, et après 2-3 ans, vous ne penserez même pas consciemment à ce que vos doigts tapent, et cela semblera étrange si vous devez le préciser pour quelqu'un. J'ai appris vi en 1993 et je prends toujours 2 ou 3 nouvelles commandes par an.
la source
La feuille de triche de @Greg Hewgill est très bonne. J'ai commencé mon changement de TextMate il y a quelques mois. Maintenant, je suis aussi productif qu'avec TM et constamment étonné par la puissance de Vim.
Voici comment j'ai changé . Peut-être que cela peut vous être utile.
Grosso modo, je ne pense pas que ce soit une bonne idée de faire un changement radical. Vim est très différent et il vaut mieux y aller progressivement.
Et pour répondre à votre sous-question, oui, j'utilise tous les
iaIAoO
jours pour passer en mode insertion. Cela semble certainement étrange au début, mais vous n'y pensez pas vraiment après un certain temps.Certaines commandes incroyablement utiles pour toutes les tâches liées à la programmation:
r
etR
pour remplacer des caractères<C-a>
et<C-x>
pour augmenter et diminuer les nombrescit
de modifier le contenu d'une balise HTML, et ses variantes (cat
,dit
,dat
,ci(
, etc.)<C-x><C-o>
(mappé sur,,
) pour l'achèvement complet<C-v>
Une fois que vous êtes habitué à la méthode Vim, il devient vraiment difficile de ne pas frapper
o
oux
tout le temps lors de l'édition de texte dans un autre éditeur ou champ de texte.la source
Je fais.
C'est la bonne façon de procéder. Commencez par les commandes de base, puis choisissez celles qui améliorent votre productivité. J'aime suivre ce blog pour obtenir des conseils sur la façon d'améliorer ma productivité avec vim.
la source
tuxfiles.org contient une très bonne feuille de triche. Je pense qu'il y a quelques points pour apprendre les commandes:
d$
), lancez une recherche rapide sur Google pour voir si vous pouvez trouver une commande pour cela.Outre ces conseils, vous devez comprendre certains concepts de base.
d$
. Pour mettre en évidence une ligne après l'utilisation d'un caractère particulierv$
. Notez donc que cela$
indique que vous allez faire quelque chose jusqu'à la fin de la ligne à partir de l'endroit où se trouve actuellement votre curseur.u
est annulé, etctrl+r
est refait.3dd
supprimera la ligne sur laquelle se trouve le curseur et les deux lignes qui suivent, de la même manière3yy
, copiera la ligne sur laquelle se trouve le curseur et les deux lignes qui suivent.:ls
pour lister les tampons, et:bn
,:bp
pour faire défiler à travers eux.:help
Ceci est probablement la meilleure façon d '«apprendre les ficelles du métier», et le reste des commandes que vous apprendrez grâce à l'utilisation.la source
Mettez ceci dans votre .bashrc pour ouvrir vim avec le dernier fichier édité à la dernière ligne éditée
la source
Accédez à Modification efficace avec vim et découvrez ce dont vous avez besoin pour commencer. Tout sur cette page n'est pas essentiel pour commencer, alors choisissez ce que vous voulez.
À partir de là, utilisez vim pour tout. "hjkl", "y" et "p" vous mèneront loin, même si ce n'est pas le moyen le plus efficace. Lorsque vous vous heurtez à une tâche pour laquelle vous ne connaissez pas la clé magique pour la faire efficacement (ou pas du tout), et que vous vous retrouvez à la faire plus d'une fois, allez la chercher. Peu à peu, cela deviendra une seconde nature.
J'ai trouvé vim intimidant il y a de nombreuses lunes (à l'époque où il n'avait pas le "m" à la fin), mais il n'a fallu qu'environ une semaine d'utilisation régulière pour devenir efficace. Je trouve toujours que c'est l'éditeur le plus rapide pour faire des choses.
la source