Aujourd'hui, j'ai décidé d'essayer Vi au lieu de Vim, je voulais voir à quel point c'est différent. Je n'ai pas remarqué beaucoup de différences, la plus grande chose que j'ai remarquée est que Vi n'a pas dit -- INSERT --
quand je suis entré en mode insertion, et il y avait quelques différences d'interface mineures.
Cela m'a fait me demander quelles sont les plus grandes différences entre Vi et Vim?
original-vi
Loovjo
la source
la source
Réponses:
Il existe en fait une commande d'aide dans vim pour vous informer des différences:
:help vi_diff
Sur le site de Vim , les plus importants sont:
la source
Vim possède de nombreuses fonctionnalités que Vi ne possède pas, même des fonctionnalités qui ne sont évidemment pas des fonctionnalités "avancées".
En pratique, cela signifie que si vous êtes habitué à Vi, vous rencontrerez probablement très peu de différences si vous commencez à utiliser Vim (ou un autre clone Vi), mais si vous êtes habitué à Vim et si vos "réflexes" incluent des fonctionnalités telles que mise en surbrillance en mode visuel, toute action de touche commençant par "g" ou "z", toute action de texte avec "i" ou "a" [par exemple "daw" pour supprimer un mot sous le curseur], navigation avec les touches fléchées en mode insertion , etc., vous constaterez que ceux-ci ne fonctionnent pas dans Vi.
Il y a aussi la question de savoir exactement ce que vous utilisiez lorsque vous dites que vous "avez essayé Vi". Sur de nombreux systèmes, "vi" exécute réellement Vim, dans un mode où certaines de ces différences s'appliquent (mode d'affichage par défaut comme vous l'avez observé, les touches fléchées ne fonctionnent pas en mode insertion) et d'autres pas (mode visuel et touches g / z fonctionnent ), et certaines fonctionnalités dépendent d'une option de compilation qui est parfois désactivée dans le "petit Vim" utilisé pour cela (les objets texte, tels que "aw" un mot, en font partie). Vous ne les obtiendrez pas si vous exécutez le vrai Vi, ou si "vi" est un autre clone avec moins ou différentes fonctionnalités que Vim, comme nvi ou VILE.
Et, du côté obscur, alors que "le petit Vim en mode Vi" n'a évidemment pas de fonctionnalités qu'un Vim complet n'a pas, il y a quelques fonctionnalités du Vi original authentique qui manquent à Vim. Ceux-ci sont documentés dans
:help vi-differences
.la source
La plupart des comparaisons donnent plus de fonctionnalités à vim qu'à vi, mais il y a une exception. Il y avait un mode "ouvert" dans vi, et vim n'a pas vraiment ce mode.
Le mode ouvert est un mode unifilaire qui était utilisé à l'époque avec des terminaux qui n'avaient pas d'affichage électronique, c'est-à-dire des télétypes, des imprimantes à lettres, etc., et également avec des affichages où le curseur ne reste qu'en bas.
Je sais qu'il existe une documentation qui dit que vim simule le mode ouvert, mais mon expérience est que ce n'est pas le cas, car je l'ai vu utilisé avec vi de mes propres yeux, et je n'ai jamais vu vim le faire. Il semble que vim utilise simplement la
open
commande simplement pour ouvrir et éditer un fichier en mode visuel. Je crois que la documentation officielle de vim indique qu'elle ne prend pas en charge le mode ouvert.la source
^R
, mais ne donne aucune autre aide.:open some/file
retourneopen: No such command from open/visual
.Q
pour entrer en mode ex, alorsopen
.z
pour afficher le contexte de la ligne actuelle une fois que vous êtes en mode ouvert. Pour reculer,Q
alorsvi
.Je pense qu'il est très difficile de faire la comparaison, en raison des changements de vi qui se sont produits au fil du temps.
Quand j'étais au collège, j'ai utilisé plain-vanilla vi sur un terminal stupide (et également sur un émulateur de terminal sur un Mac) qui se connectait aux ordinateurs centraux en utilisant le système V. Vous ne pouvez même plus trouver cela.
Mais je ne suis même pas sûr que c'était vrai vi. À cette époque, il y avait beaucoup de clones et de ports créés parce que vi n'était pas open-source à l'époque. Et lorsque les fournisseurs ont créé des clones, ils ont ajouté des fonctionnalités qui n'étaient pas dans vi. L'histoire est un peu alambiquée. Vous pouvez le lire sur Wikipedia et ailleurs.
Donc, si vous n'utilisiez pas certains fournisseurs / matériel, vous n'utilisiez pas vi, mais quelque chose comme vi.
Mais je me souviens que vi (ou le clone que j'utilisais) était très minimaliste dans son interface (pas de couleurs, pas d'étiquettes INSERT, pas d'annulations multiples, etc.) mais puissant dans ce qu'il pouvait réellement accomplir. Très pratique.
la source
La FAQ Vim a une liste bien formatée: https://vimhelp.org/vim_faq.txt.html#faq-1.4
Extrait de la FAQ:
la source