Home | Computers > Software > vim > emacsvsvim | About
Home | Computers > Software > emacs > emacsvsvim | About
Score
= VIM 15 | EMACS 11 =
Là ou vim fait mieux
- Pour supprimer la ligne courante dans vim
dd
, dans emacsC-a C-k
. C-a pour aller au début de la ligne et C-k pour effacer tout ce qui se trouve après le curseur. - Pour aller vers la parenthèse/accolade/crochet correspondant dans emacs
C-M-f / C-M-b
, dans vim simplement%
(inutile de se positionner sur la parenthèse en question). - Pour aller à la ligne N dans emacs
M-g N
, dans vimNg
- Pour chercher le mot sous lequel se trouve le curseur dans vim
*
. Emacs dispose d'une fonctionnalité similaire mais uniquement pour le code source oùM-.
vous emmène là où la fonction/variable est définie, mais après avoir généré un fichier tag avec etag/ctag. - Changer le mot sous le curseur sous vim
cw
, aucune commande semblable dans emacs. - Pour supprimer une région sous vim
v
sélectionner la région puisd
. Sous emacs, poser un marqueur avecC-space
, sélectionner la région puisM-w
- Pour compter le nombre de ligne d'une région dans emacs, sélectionnez-là avec
C-<SPACE>
puis faitesM-=
. Dans vim, il suffit de mettre l'option:set showcmd
si elle n'y est pas déjà, ensuite sélectionner la région avecv
et vous avez le décompte en bas à droite. - Pour remplacer dans une région dans emac, il faut sélectionner la région avec
C-<SPACE>
et de remplacer avecM-x replace-string
. Dans vim, il suffit de sélectionner en visual-modev
puis en tapant:s/text à changer/nouveau texte/g
. - Remplacer du texte sous emacs :
<INSR>
, et une nouvelle fois<INSR>
quand on a fini. Dans vimR
.
Là ou emacs fait mieux
- Pour commenter/décommenter une ou plusieurs lignes dans emacs, faites
M-;
. Il n'y a aucune commande dans vim pour faire ça (des plugins existent). - Pour inverser deux caractères, il suffit de faire C-t dans emacs. Dans vim, il faut faire
xp
; - Emacs sait invertir deux mots avec
M-t
, vim ne sait pas faire ça. - Pour mettre le reste d'un mot en capital/minuscul
M-u
/M-l
. Dans vim :gUe
/gue
. Emacs est meilleur parce qu'il est plus facile de recommancer la manip (dans vim, on peut aussi faire,
ou;
pour refaire une manip, mais les doigts changent de place, donc moins bien). - Pour naviguer entre les fichiers :
C-x <left> / <right>
pour aller au buffer précédent/suivant respectivement dans l'historique. Dans vim ::bn / :bp
, je trouve que c'est plus rapide dans emacs vu que les doigts sont déjà positionnés aux bons endroits et bougent donc moins.
Là ou emacs et vim font aussi bien
- Pour sélectionner tout le texte dans emacs :
C-x H
(wHole). Dans vim ::%y
- Pour aller au début/fin du fichier dans emacs,
M-< / M→.
Dans vimgg / GG
. - Pour aller au début/fin de la ligne courante dans emacs
C-a/C-e
, dans vim0/$
- Pour mettre uniquement le début d'un mot en majuscule (la première lettre), dans emacs
M-c
et vous allez à la fin du mot, dans vim~
permet de changer la casse entre majuscule et minuscule, et passer à la lettre suivante. - Pour indenter tout le fichier : dans emacs
C-x h <tab>
, dans vimgg=G
, où que soit votre cursor (dans les deux cas). - Pour aller au début/fin d'une fonction : dans emacs
C-M-a / C-M-e
, dans vim[[
/]]
, ou[m
/]m