Je connais un peu * éditeurs de texte NIX (actuellement la migration de nano
la vim
), et, après avoir regardé autour un peu sur Unix et Linux SE, ont remarqué que vi
est utilisé au lieu de « vim » dans un bon nombre de questions. Je sais que "vim" signifie "Vi IMproved" et, dans cet esprit, je me demande pourquoi quelqu'un préfère utiliser vi au lieu de vim. Vi a-t-il un avantage significatif sur vim?
Edit: Je pense que ma question est mal interprétée. Je sais que vim est, pour la plupart, nettement plus puissant et complet que vi. Ce que je veux savoir, c’est qu’il existe des cas où vi a un avantage sur vim, tel qu’une utilisation moindre de la mémoire, une prévalence sur les systèmes * nix, etc.
vi
est que vous pouvez vous attendre à ce qu'il se trouve sur tous les systèmes compatibles POSIX.vi
et nonvim
.. Ubuntu est l’un desvim
.vi
est juste un lien symbolique qui pointe finalementvim
dans l'installation par défaut.vi
utiliser les spécifications POSIX pourvi
. De cette façon, vous avez une connaissance portable et vous connaissez les extensions Vim.Réponses:
vi
est (aussi) un éditeur standard POSIX . Il existe de nombreuses implémentations etvim
est probablement la plus populaire au moins sur Linux.Alors que de nombreux systèmes d'exploitation compatibles Unix traditionnels proposent des
vi
implémentations très proches de la norme, devim
nombreuses fonctionnalités supplémentaires ont été ajoutées qui en font une arme à double tranchant.Bien entendu, ces extensions sont généralement conçues pour faciliter le processus d’édition et fournir des fonctionnalités utiles. Cependant, une fois que vous en avez l'habitude (pas les cosmétiques comme la coloration syntaxique mais ceux qui changent le comportement de l'éditeur), vous pouvez facilement oublier qu'ils sont spécifiques; et utiliser une implémentation différente, y compris celles basées sur le code BSD original, peut être très frustrant. L'inverse est également vrai.
Ceci est assez similaire au problème rencontré avec les scripts utilisant des bashismes non POSIX, confrontés à des implémentations de shell plus orthodoxes telles que
dash
ouksh
.la source
Aucun vi n'a aucun avantage significatif sur vim, mais plutôt l'inverse. Vim a plus d'avantages que Vi. Vous pourriez être intéressé par: Pourquoi, oh POURQUOI, ces #? @! nutheads utilise vi?
Modifier également lire: Est-ce que l'apprentissage de VIM en vaut la peine?
la source
Après avoir passé une bonne partie de ma vie (sans compter l'enfance) à éditer confortablement avec Vim, j'ai passé environ un mois à utiliser vi. Ce faisant, j'ai réalisé que j'avais été dépendant de Vim pour tous mes besoins de modification de texte. Avant mon voyage avec vi, chaque fois que je devais substituer du texte ou effectuer une opération similaire dans un grand groupe de fichiers, j’ouvrais simplement les fichiers dans Vim et exécutais une
:bufdo
commande, et chaque fois que je devais mettre en retrait ou formater certains fichiers, Je voudrais les ouvrir dans Vim et utiliser les commandes=
etgw
commandes de Vim . J'étais dépendant de Vim. Après avoir réalisé que vi n’avait pas ces commandes, j’ai été forcé d’effectuer des transformations de texte en blocsed
et d’apprendre beaucoup de choses sur d’autres programmes tels queawk
etindent
. Bien que je sois revenu à l’utilisation de Vim, les connaissances que j’avais acquises avec un éditeur moins complet étaient considérables et se sont révélées extrêmement utiles. En plus d'apprendre à utiliser des outils en dehors d'un éditeur de texte, je me suis également familiarisé avec vi. Vi. Chaque fois que je travaille sur un nouveau système ou sur un serveur ne disposant pas de Vim, je me sens beaucoup plus à l'aise avec vi que je ne le faisais avant mon excursion d'un mois.En outre, le mois dernier, j'ai installé Linux sur une tablette WM8650 bon marché et j'ai constaté une différence de performances notable entre Vim et vi. J'ai donc tendance à utiliser vi sur la tablette.
la source
-i
commutateur sur les deux est une extension GNU.) Mais vous pouvez les utiliser de manière portable avec quelque chose commefor f in *; do printf '%s\n' '%!sed -e '\''some sed command'\' x | ex "$f"; done
J'aurais du mal à vivre sans vim mais je ne peux pas supporter vi . Cependant, apprendre le premier vous laissera au moins une idée de la façon de traiter le plus tard, lorsque tout sera disponible.
Par défaut, l'interface vim est assez proche de vi. Si je travaille sur un système avec vim, la première chose que je fais est d'ajouter ces éléments à
~/.vimrc
:Il y a une foule d'autres choses que je préfère - maintenant, y compris la numérotation, etc. - mais ça ne fait rien. "syntax enable" active simplement la coloration syntaxique de base (un peu plus costaud:
filetype plugin on
est fondamental aussi); "nocp" désactive la compatibilité de vi et c'est ce qui commence à distinguer vim de ye olde vi (par exemple, cela permet deshowmode
rendre l'expérience plus humaine, puisque vous savez maintenant si vous êtes aux commandes ou ~ INSERT ~ mode). "wildmenu" vous donne juste un menu de finition horizontal lorsque vous faites certaines choses, ce qui vous simplifie la vie aussi.Les fonctionnalités d' édition de texte de vim sont incomparables - à part emacs, je n'ai jamais vu ni entendu parler d'un logiciel qui se rapproche. Ils ne sont pas faciles à apprendre, mais une fois que vous les connaissez, ils sont beaucoup plus rapides à utiliser que les menus de la souris et beaucoup plus dynamiques que les simples alternatives de macro-clés dans les interfaces basées sur les menus de la souris. Pour la programmation, j'utilise parfois vim aux côtés d'un IDE comme Eclipse, mais je fais la plupart du travail dans vim.
Si vous prenez ce chemin, lol, regardez dans les plugins d'auto-complétion et de liste de balises. Et méfiez-vous du côté obscur.
la source
set mouse=a
aussi.L’avantage est que vi est généralement préinstallé dans une entreprise UNIX telle que AIX ou Solaris. De plus, vim n'est pas accessible sur le support d'installation.
la source
Je l' ai remarqué que je ne choisis
Vi
plusVIM
quand je suis copier et de coller un document texte ou d'un fichier de configuration que je l' ai utilisé lacat
commande. En effet , lorsque je tente dectrl-c
puisctrl-v
dans leVIM
document ouvert, il oblige toutes les lignes ont un commentaire Infront d'entre eux. Alors , quand je l' utiliseVi
pourctrl-v
oupaste
dans leVi
document ouvert, il colle exactement ce que je copié. Autre que cela, je l'utiliseVIM
toute la journée.Prendre plaisir!
la source
:set paste
Comme nous l'avons déjà mentionné, vi est livré avec à peu près tous les systèmes UNIX disponibles.
Je voulais juste ajouter un exemple. Arch Linux est une distribution particulièrement populaire et légère, que ni l'installateur, ni la distribution de base ne sont livrés avec vim par défaut, mais les deux sont livrés avec vi.
Ceci n’est pas un avantage pour vi en soi , car vous pouvez simplement installer vim manuellement, et il vous reste peu de choses à faire lors de l’installation qui nécessite un éditeur de texte, et rien dans lequel vim est supérieur à vi pour le but recherché. Mais comprendre la différence et le fait que vi est plus omniprésent et léger que vim ne lui confère des avantages de niche.
En outre, pour être complet, personne n’a encore précisé explicitement que vi est un précurseur direct de vim. Vim était spécifiquement conçu pour être tout ce que vi était, et plus encore.
Donc, de manière très directe, vim est supérieur à vi, car il a été conçu pour être .
la source
La seule raison d'utiliser vi sur vim, c'est quand vous n'avez pas d'autre choix.
Il y a beaucoup, beaucoup de raisons pour lesquelles vim signifie "vi amélioré"!
Empruntant à un article en rapport, j'ai répondu: -
la source
Ceci est extrait de Vim Koans :
Master Wq et le maître Unix
Un vieux maître Unix est venu chez Master Wq. «Je suis troublé, Wq. Vous enseignez le chemin de Vim. vi est saint mais Vim ne l'est pas; son code s’étale, ses caractéristiques encombrent la mémoire; ses binaires sont vastes, son comportement est incohérent. Ce n'est pas la manière d'Unix. Je crains que vous induisiez en erreur vos étudiants. Ce qui peut être fait?"
Maître Wq hocha la tête. "Vous avez raison", dit-il. «Vim est cassé. Laissez-nous résoudre ce problème. Allons-nous commencer?"
L'ancien maître Unix a accepté et a ouvert un shell. Il a tapé:
Il a commencé à coder. Maître Wq observa un moment puis lui demanda: «Quelle implémentation de vi utilisez-vous? Nvi? Vim? Elvis?
"Je ne sais pas", dit le maître Unix. "Ce n'est pas grave."
Maître Wq hocha la tête. Le maître Unix resta sidéré un instant et ferma son document sans sauvegarde.
la source