Aujourdhui, jai décidé dessayer vi au lieu de Vim; Je voulais voir à quel point cest différent.
Je nai pas remarqué beaucoup de différences. La chose la plus importante que jai remarquée était la façon dont vi na pas dit -- INSERT --
lorsque je suis passé en mode insertion, et il y avait quelques différences mineures dinterface.
Cela ma fait me demander quelles sont les plus grandes différences entre vi et Vim?
Commentaires
- Il est évident que ‘ t nutilise pas de nombreuses fonctionnalités avancées de vim. sélection de bloc, recherche de mot sous le curseur, numéro dincrémentation sous le curseur, mise en évidence de la syntaxe, etc.
- Article connexe – Quelle est la différence entre Vi et Vim?
- Il y a des avantages évidents à avoir comme le support de clé étendu. Les touches fléchées fonctionnent contrairement à hjkl.
Réponse
Il existe en fait une commande daide dans Vim pour vous le dire à propos des différences: :help vi_diff
(notez le trait de soulignement: :help vi_diff
)
Du site de Vim « , les plus importants sont:
unlimited undo
Vous pouvez faire xxxx et annuler chacune des quatre suppressions. Quand la dernière fois que vous avez tapé » jjjj » et que vous avez découvert que la touche de verrouillage des majuscules était activée? Vous avez accidentellement joint cinq lignes, et Vi peut annuler uniquement la dernière commande. Dans Vim, vous pouvez annuler les quatre commandes » J » et récupérer votre texte dorigine.
portabilité
Vi nest disponible que sous Unix. Vim fonctionne sur MS-Windows, Maci ntosh, Amiga, OS / 2, VMS, QNX et autres systèmes. Et aussi sur tous les systèmes Unix.
coloration syntaxique
Vim peut être programmé pour mettre en évidence des parties du tampon dans différentes couleurs ou styles, en fonction du type de fichier en cours dédition. Il existe des centaines densembles de règles de coloration syntaxique fournis avec Vim.
GUI
Vim fonctionne bien sur une console, mais il peut sexécuter de manière native dans de nombreuses interfaces graphiques, notamment X Windows, Mac OS et Microsoft Windows. Il utilise des widgets GUI natifs pour le défilement, la division des tampons et le menu. Il peut aussi parler au presse-papiers.
Commentaires
Réponse
Vim possède de nombreuses fonctionnalités que Vi na pas, même des fonctionnalités qui ne le sont pas manifestement 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 de Vi), mais si vous êtes habitué à Vim et si vos « réflexes » incluent des fonctionnalités telles que la mise en évidence du mode visuel, toute action clé commençant par « g » ou « z », toute action textuelle avec « i » ou « a » [par exemple « daw » pour supprimer un mot sous le curseur], en naviguant avec les touches fléchées en mode insertion, etc, vous constaterez que celles-ci ne fonctionnent pas dans Vi.
Il y a aussi la question de savoir quoi exactement vous utilisiez lorsque vous dites que vous avez « essayé Vi ». Sur de nombreux systèmes, « vi » exécute en fait Vim, dans un mode où certaines de ces différences sappliquent (showmode par défaut comme vous lavez observé, les touches fléchées ne fonctionnent pas en mode insertion) et dautres non (le mode visuel et les touches g / z fonctionnent ), et certaines fonctionnalités dépendent dune 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). ceux-ci si vous exécutez le réel Vi, ou si « vi » est un autre clone avec moins de fonctionnalités ou des fonctionnalités différentes de Vim, comme nvi ou VILE.
Et, sur lobscur côté, alors que « le petit Vim en mode Vi » na manifestement aucune fonctionnalité quun Vim complet na pas, il y a quelques caractéristiques du véritable Vi original qui manque à vim. Elles sont documentées dans :help vi-differences
.
Commentaires
- Je ‘ parie fortement que OP a en fait un » tiny vim » vi.
- vous dites que sur de nombreux systèmes le v La commande i exécute réellement vim. Alors, comment savoir si jexécute vraiment vi ou vim?
- @firstpostcommenter Eh bien, ‘ ressemblera toujours à vim – le ~ sur le La gauche de lécran sera de couleur bleue et le texte dannonce de version peut toujours apparaître au centre de lécran si vous le démarrez par lui-même sans spécifier de fichier.Si vous ‘ êtes très préoccupé par léditeur que vous exécutez, il existe également dautres clones vi qui pourraient être installés à la place, ainsi que le véritable » vi » est très rare dans les distributions Linux / bsd.
Réponse
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 na pas vraiment ce mode.
Le mode ouvert est un mode sur une seule ligne qui était utilisé à lépoque avec des terminaux qui navaient pas délectronique affichages, cest-à-dire des télétypes, des imprimantes à lettres, etc., et aussi avec des affichages où le curseur ne reste quen bas.
Je sais quil existe de la documentation qui dit que Vim simule le mode ouvert, mais mon expérience est que car je lai vu utilisé avec vi de mes propres yeux, et je nai jamais vu Vim le faire. Il semble que Vim utilise simplement la commande open
simplement pour ouvrir et éditez un fichier en mode visuel. Je crois que la documentation officielle de Vim indique quelle ne prend pas en charge le mode ouvert.
Commentaires
- I avoir ex-vi.sourceforge.net installé, qui est un port du Vi dorigine. Comment démarrer ce mode ouvert? La page de manuel le mentionne en parlant de
^R
, mais ne donne aucune autre aide.:open some/file
renvoieopen: No such command from open/visual
. - @muru
Q
pour saisir ex mode, puisopen
.z
pour afficher le contexte de la ligne actuelle une fois que vous ‘ êtes en mode ouvert. Pour revenir en arrière,Q
puisvi
.
Réponse
La FAQ Vim contient une liste bien formatée: https://vimhelp.org/vim_faq.txt.html#faq-1.4
Extrait de la FAQ:
- Annulation à plusieurs niveaux
- Onglets, plusieurs fenêtres et tampons
- Mode dinsertion flexible (peut utiliser touches fléchées en mode insertion)
- Macros
- Mode visuel (sélectionner visuellement des sections de texte)
- Opérateurs de bloc
- Système daide en ligne
- Édition et historique de la ligne de commande
- Saisie de la ligne de commande (complétion par tabulation)
- Défilement horizontal (longues lignes)
- Améliorations dUnicode et de linternationalisation .
Réponse
Je pense quil est très difficile de faire la comparaison, à cause des changements de vi qui ont arrivé au fil du temps.
Quand jétais à luniversité, jutilisais plain-vanilla vi sur un terminal stupide (et aussi sur un émulateur de terminal sur un Mac) qui se connectait à des mainframes en utilisant System V. Vous ne pouvez même pas trouver que tout plus.
Mais je ne suis même pas sûr que ce soit vrai vi. A cette époque, il y avait beaucoup de clones et de ports créés parce que vi nétait pas open-source à lépoque. Et quand les vendeurs ont fait des clones, ils ont ajouté des fonctionnalités qui nétaient pas dans vi. Lhistoire est assez compliquée. Vous pouvez le lire sur Wikipédia et ailleurs.
Donc, si vous nutilisez pas certains fournisseurs / matériels, vous nutilisiez pas vi, mais quelque chose comme vi.
Mais je me souviens que vi (ou le clone que jutilisais) était très minimaliste dans son interface (pas de couleurs, pas détiquettes INSERT, pas dannulations multiples, etc.) mais puissant dans ce quil pouvait réellement accomplir. Très pratique.