Vi vs vim, nebo existuje nějaký důvod, proč bych někdy chtěl použít vi?

Vím něco o textových editorech * NIX (v současné době migruji z nano na vim) a poté, co jsme se trochu rozhlédli po Unixu & Linux SE, jsme si všimli, že se používá vi místo „vim“ ve velkém počtu otázek. Vím, že „vim“ znamená „Vi IMproved“, a proto si říkám, proč by někdo raději používal vi místo vim. Má vi nějakou významnou výhodu nad vim?

Upravit: Myslím, že moje otázka je nesprávně interpretována. Vím, že vim je z větší části podstatně výkonnější a funkčnější než vi. Chci vědět, jestli existují nějaké možné případy, kdy má vi výhodu nad vim, jako je menší využití paměti, prevalence v systémech * nix atd.

Komentáře

  • Na vi je hezké to, že můžete očekávat, že bude v každém systému kompatibilním s POSIX.
  • Ve skutečnosti standardní instalace Ubuntu obsahuje vi a ne vim .. Ubuntu je jedním z nejvíce uživatelsky přívětivých distro btw 😉
  • @amyassin This je nesprávný, Ubuntu, stejně jako většina distribucí Linuxu, obsahuje vim. vi je jen symbolický odkaz, který nakonec ukazuje na vim ve výchozí instalaci.
  • Moje rada zní: Použít Vim, ale naučte se vi používat specifikace POSIX pro vi . Tímto způsobem máte přenosné znalosti i znalosti rozšíření Vim.
  • @DDK Zmeškali jste “ případně “ v mém prohlášení. “ ls -l / etc / alternatives / vi “ – > “ lrwxrwxrwx 1 kořenový kořen 17 janv. 1. 2016 / etc / alternatives / vi – > /usr/bin/vim.tiny“

Odpověď

vi je (také) standardní editor POSIX . Existuje spousta implementací a vim je pravděpodobně nejoblíbenější.

Zatímco mnoho tradičních operačních systémů podporujících Unix poskytuje vi implementace velmi blízké standardu, vim přidal mnoho dalších funkcí, které z něj dělají meč s dvojitým ostřím.

Tato rozšíření jsou samozřejmě obvykle navržena usnadnit proces úprav a poskytnout užitečné funkce a funkce. Jakmile si však na některé z nich zvyknete (ne ty kosmetické, jako je barvení syntaxe, ale ty, které mění chování editora), můžete snadno zapomenout, že jsou konkrétní; a při použití jiné implementace, včetně implementace založené na původním BSD kód může být velmi frustrující. Opak je také pravdou.

Je to docela podobné problému, ke kterému dochází u skriptů používajících bashismy jiné než POSIX, kterým čelí více ortodoxní implementace prostředí, jako je dash nebo ksh.

Odpověď

Žádné vi nemá jakákoli významná výhoda oproti vimu je naopak. Vim má více výhod než Vi. Mohlo by vás zajímat: Proč, ach PROČ, dělat ty #? @! nutheads používají vi?

Upravit také číst: Stojí učení VIM za tu námahu?

Komentáře

  • Ano. Nepoužívám ‚ žádný IDE, protože redaktoři, k nimž vás nutí používat, prostě nejsou Vim. = „839e654907“>

t Vim.

  • @Keith Používám Xcode i Eclipse a já ‚ stále mohu provádět úpravy pouze s vi.
  • @Keith SlickEdit má skvělou emulaci Vim a IDEA ‚ s se blíží. Visual Studio má také ViEmu.
  • IntellIJ má také pěkný plugin vim přepisující chování standardního editoru ‚.
  • Odpověď

    Poté, co jsem s Vim strávil velkou část svého života (kromě dětství) pohodlnými úpravami, jsem asi měsíc používal pouze vi. Přitom jsem si uvědomil, že jsem byl závislý na Vimu pro všechny své potřeby úpravy textu. Před cestou s vi, kdykoli jsem musel nahradit nějaký text nebo provést podobnou operaci ve velké skupině souborů, otevřel jsem soubory ve Vimu a spustil příkaz :bufdo , a kdykoli jsem musel odsadit nebo naformátovat některé soubory, otevřel jsem je ve Vimu a použil příkazy Vim „s = a gw Byl jsem závislý na Vim.Poté, co jsem si uvědomil, že vi tyto příkazy nemá, jsem byl nucen provádět hromadné textové transformace pomocí sed a hodně jsem se naučil o dalších programech, jako je awk a indent. Nakonec jsem se nakonec vrátil k používání Vim, ale znalosti, které jsem získal pomocí méně výkonného editoru, byly značné a ukázaly se jako nesmírně užitečné. Kromě učení o nástrojích mimo textový editor jsem se také lépe seznámil s vi. Kdykoli pracuji na novém systému nebo na serveru, který nemá Vim, cítím se při používání vi mnohem pohodlněji než před měsíční exkurzí.

    Také jsem minulý měsíc nainstaloval Linux na levný tablet WM8650 a zjistil jsem, že mezi Vim a vi existuje znatelný rozdíl ve výkonu, takže mám tendenci používat na tabletu vi.

    Komentáře

    • Zjistil jsem, že se jedná o běžný problém v IT – nástroje, které nám pomáhají, mohou také zakrýt věci, které by nám ‚ daly lépe učit.
    • Vlastně manipulace editaci souborů na místě u mnoha souborů nelze ‚ provést přenosem pomocí Awk nebo Sed . (-i switch on both is a GNU extension.) Ale můžete je použít přenosně s něčím jako for f in *; do printf '%s\n' '%!sed -e '\''some sed command'\' x | ex "$f"; done

    Odpovědět

    Bez vimu by se mi těžko žilo, ale nemůžu vydržet vi . Naučení se prvního vám však přinejmenším zanechá představu, jak se vypořádat s pozdějším, až bude vše dostupné.

    Ve výchozím nastavení je rozhraní vim ve skutečnosti velmi podobné vi. „Pracuji na systému s vim první věc, kterou udělám, je přidat tyto věci do ~/.vimrc:

    syntax enable set nocp set wildmenu 

    Existuje „spousta dalších věcí, které mám raději – nowrap a číslování atd. – ale nevadí.“ Syntaxe povolit „zapne pouze základní zvýraznění syntaxe (poněkud svěžejší: filetype plugin on je taky základní); „nocp“ vypíná kompatibilitu s vi a právě to začne rozlišovat vim od vašeho starého vi (např. , umožňuje showmode, což činí celý zážitek poněkud lidštějším, protože nyní máte ponětí o tom, zda jste v režimu příkazů nebo ~ VLOŽTE ~). „wildmenu“ vám dává nabídka vodorovného dokončení, když děláte nějaké věci, což také usnadňuje život.

    Možnosti úpravy textu ve vimu nemají obdoby – kromě emacsu jsem nikdy neviděl ani neslyšel o softwaru, který by se blížil. Není snadné se je naučit, ale jakmile je znáte, jsou mnohem rychlejší než použití nabídek myši a mnohem dynamičtější než jednoduché alternativy makra klíče v rozhraních založených na nabídce myši. Pro programování někdy používám vim vedle IDE jako Eclipse, ale většinu práce dělám ve vim.

    Pokud se vydáte touto cestou, lol, podívejte se na pluginy automatického doplňování a taglistů. A pozor na temnou stránku.

    Komentáře

    • Vždy přidávám také set mouse=a.
    • Ohledně vašeho programování komentář, může vás eclim zaujmout …
    • @ire_and_curses: haven ‚ t zkusil to. Eclipse i vim sledují zdrojové soubory a umožňují jejich externí aktualizaci. Převrácení z jedné plochy na druhou je převrácení z jedné plochy na druhou. Vypadá to jako docela nápad.
    • I když si ‚ nemyslím, že by tato odpověď měla být zvolenou odpovědí (protože ‚ s biased), je to ‚ přesně ten typ perspektivy, který je užitečný pro pochopení rozdílů. Děkujeme, že jste zaujali pozici.

    Odpovědět

    Výhodou je, že vi je obvykle předinstalováno v podnikovém systému UNIX jako AIX nebo Solaris. Kromě toho vim není přístupný na instalačním médiu.

    Odpovědět

    Toto je výňatek z Vim Koans :

    Master Wq a Unix master

    Na Master Wq přišel starý unixový master. „Mám potíže, Wq.“ Učíte cestu Vima. vi je svatý, ale Vim není; jeho kód se rozléhá, jeho funkce jsou v davu; jeho binární soubory jsou obrovské, jeho chování je nekonzistentní. Toto není způsob Unixu. Obávám se, že své studenty uvedete v omyl. Co lze udělat? “

    Master Wq přikývl. „Máte pravdu,“ řekl. „Vim je zlomený.“ Pojďme to opravit. Začneme? “

    Starý mistr Unixu souhlasil a otevřel shell. Napsal:

    $ vi vim.c 

    Začal kódovat. Master Wq chvíli sledoval a pak se ho zeptal: „Jakou implementaci vi používáte? Nvi? Vim? Elvis? “

    „ Nevím, “řekl mistr Unixu. „To nevadí.“

    Mistr Wq přikývl. Mistr Unixu na chvíli seděl omráčený a zavřel svůj dokument neuložený.

    Komentáře

    • hahah … je mi to vtipné …. hluboký, ale zábavný.Děkujeme za sdílení.

    Odpověď

    Jak již bylo zmíněno v předchozích odpovědích, vi přichází téměř se všemi systémy UNIX tam venku.

    Jen jsem chtěl přidat příklad. Arch Linux je obzvláště populární a lehký distro, který ani instalační program, ani základní distro ve výchozím nastavení neobsahuje vim, oba však mají vi.

    To není výhoda pro vi per se , protože vim můžete jednoduše nainstalovat ručně a v instalaci, která vyžaduje textový editor, je třeba provést jen málo, a nic, kde je vim pro zamýšlený účel lepší než vi. Ale pochopení rozdílu a toho vi je všudypřítomnější a lehčí než vim, který mu dává určité výhody.

    Abychom byli úplní, ještě nikdo výslovně nezmínil, že vi je přímým předchůdcem vim. Vim byl konkrétně navržen jako všechno že vi bylo a další.

    Takže velmi přímým způsobem je vim lepší než vi, protože byl navržen tak, aby .

    Odpověď

    Jediným důvodem, proč jste někdy použili vi over vim, je, když nemáte jinou možnost.

    Existuje mnoho, mnoho důvodů, proč vim stojí fo r „vi vylepšeno“!

    Výpůjčka ze souvisejícího příspěvku, na který jsem odpověděl: –

    1. Více oken – horizontální, vertikální & karty.
    2. Vizuální zvýraznění.
    3. Online nápověda pomocí příkazu: help.
    4. Zaznamenejte makra do registru, který pak můžete spustit.
    5. Vracet (a opakovat) vícekrát, místo šíleného přepínání starých vi.
    6. Historie příkazového řádku, historie vyhledávání.
    7. Celý jazyk vložený spolu s řadou dostupné funkce, např. getcwd ()
    8. Velmi rozšířené porovnávání vzorů.
    9. Dokončování slov pomocí ctrl-P & ctrl-N.
    10. Vestavěný navigátor souborů (trochu neohrabaný, ale může být užitečný).
    11. Klíč ESC ve skutečnosti ukončí příkazy, které jste se pokoušeli, dobře, uniknout namísto (šíleně) jejich spouštění jako vi.
    12. Schopnost spouštět příkazy na všech vyrovnávacích pamětích, argech nebo oknech prostřednictvím bufdo, argdo & windo.

    Komentáře

    • Pravděpodobně jste mohli přivést “ mnoho, mnoho “ důvodů, které jste zmínili v unix.stackexchange.com/a/425597/85039 odpověď zde. To ‚ d tuto odpověď trochu zlepší; jinak se čte spíše jako komentář než skutečná odpověď
    • Bod zaujatý. Odpověď aktualizována výpůjčkou ze související odpovědi, kterou jsem včera učinil.

    Odpověď

    Všiml jsem si, že jsem pouze zvolit Vi nad VIM když Kopíruji a vkládám textový dokument nebo konfigurační soubor, který jsem použil cat. Je to proto, že když se pokusím ctrl-c a poté ctrl-v do VIM otevřeného dokumentu, nutí všechny řádky mít před nimi komentář. Takže když použiji Vi na ctrl-v nebo paste do Vi otevřený dokument, vloží přesně to, z čeho jsem zkopíroval. Kromě toho používám VIM celý den.

    Užijte si to!

    Komentáře

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *