Dnes jsem se rozhodl zkusit vi místo Vim; Chtěl jsem vidět, jak je to odlišné.
Vůbec jsem si nevšiml mnoha rozdílů. Největší věc, kterou jsem si všiml, bylo to, jak vi neřekl -- INSERT --
když jsem přešel do režimu vkládání a došlo k několika drobným rozdílům v rozhraní.
To mě napadlo, jaké jsou největší rozdíly mezi vi a Vim?
Komentáře
- Je zřejmé, že ‚ nepoužíváte mnoho pokročilých funkcí vim. výběr bloku, hledání slova pod kurzorem, přírůstek čísla pod kurzorem, zvýraznění syntaxe atd.
- Související příspěvek – Jaký je rozdíl mezi Vi a Vim?
- Existuje několik zjevných věcí, jako je podpora rozšířených kláves. Klávesy se šipkami fungují na rozdíl od hjkl.
Odpověď
Ve Vimu je vlastně příkaz nápovědy, který vám řekne o rozdílech: :help vi_diff
(všimněte si podtržítka: :help vi_diff
)
Ze stránek Vim , největší jsou:
neomezený návrat zpět
Můžete provést xxxx a vrátit zpět každé ze čtyř vymazání. Kdy byl když jste naposledy zadali “ jjjj “ a pak jste zjistili, že je zapnutý klíč Caps Lock? Náhodně jste se spojili k pěti řádkům a Vi může vrátit zpět pouze poslední příkaz. Ve Vim můžete vrátit zpět všechny čtyři “ J “ příkazy a získat zpět původní text.
přenositelnost
Vi je k dispozici pouze pro Unix. Vim funguje na MS-Windows, Maci ntosh, Amiga, OS / 2, VMS, QNX a další systémy. A také na každém systému Unix.
zvýraznění syntaxe
Vim může být naprogramováno tak, aby zvýrazňovalo části vyrovnávací paměti v různých barvách nebo stylech na základě typu upravovaného souboru. S Vimem jsou stovky sad pravidel pro zvýraznění syntaxe.
GUI
Vim funguje dobře na konzole, ale může běžet nativně v mnoha grafických uživatelských rozhraních, včetně X Windows, Mac OS a Microsoft Windows. Používá nativní widgety GUI pro posouvání, dělení vyrovnávacích pamětí a vytváření nabídek. Může také hovořit do schránky.
Komentáře
Odpověď
Vim má mnoho funkcí, které Vi nemá, dokonce i funkce, které zjevně nejsou „pokročilé“ funkce.
V praxi to znamená, že pokud jste zvyklí na Vi, pravděpodobně narazíte na velmi málo rozdílů, pokud začnete používat Vim (nebo jiný Vi klon), ale pokud jste zvyklí na Vim a pokud vaše „reflexy“ zahrnují funkce, jako je zvýraznění vizuálního režimu, jakákoli klíčová akce začínající na „g“ nebo „z“, jakákoli textová akce s „i“ nebo „a“ [např. „daw“ pro smazání slova pod kurzorem], při navigaci pomocí kláves se šipkami v režimu vkládání atd. zjistíte, že ti ve Vi nepracují.
Existuje také otázka, co přesně používali jste, když říkáte, že jste „vyzkoušeli Vi“. Na mnoha systémech „vi“ ve skutečnosti běží Vim v režimu, kde platí některé z těchto rozdílů (výchozí režim zobrazení, jak jste si všimli, klávesy se šipkami nepracují v režimu vkládání) a jiné ne (vizuální režim a klávesy g / z fungují ) a některé funkce závisí na možnosti kompilace, která je někdy deaktivována v „malém Vimu“, který se pro tento účel používá (textové objekty, jako například „aw“ slovo, jsou jedním z nich). tyto, pokud spustíte skutečné Vi, nebo pokud „vi“ je nějaký jiný klon s méně nebo odlišnými funkcemi než Vim, jako je nvi nebo VILE.
A na nejasném strana, zatímco „malý Vim v režimu Vi“ zjevně nemá žádné vlastnosti, které nemá úplný Vim, existuje několik funkcí originálního Vi, které vimu chybí. Ty jsou dokumentovány v :help vi-differences
.
Komentáře
- Já ‚ se silně vsadím, že OP ve skutečnosti má “ malý vim “ vi.
- říkáte, že na mnoha systémech v i příkaz ve skutečnosti běží vim. Jak tedy zjistím, zda opravdu používám vi nebo vim?
- @firstpostcommenter No, ‚ v zásadě stále vypadá jako vim – ~ na levá část obrazovky bude mít modrou barvu a text oznámení o verzi se může stále objevit ve středu obrazovky, pokud ji spustíte samostatně bez zadání souboru.Pokud vás ‚ velmi zajímá, jaký editor používáte, mohou být místo toho nainstalovány i další klony vi a originální “ vi “ je v distribucích linux / bsd velmi vzácný.
odpověď
Většina srovnání poskytuje Vimu více funkcí než vi, ale existuje jedna výjimka. Ve vi existoval „otevřený“ režim a Vim tento režim opravdu nemá.
Otevřený režim je jednořádkový režim, který se v minulosti používal u terminálů, které neměly elektronické displeje, tj. dálnopisy, dopisní tiskárny a podobně, a také displeje, kde kurzor zůstává pouze dole.
Vím, že existuje dokumentace, která říká, že Vim simuluje otevřený režim, ale moje zkušenost je, že nedělá to. „Viděl jsem, že se to používá s vi na vlastní oči, a nikdy jsem to neviděl Vima. Zdá se, že Vim jednoduše používá příkaz open
jednoduše k otevření a upravit soubor ve vizuálním režimu. Věřím, že oficiální dokumentace Vim uvádí, že nepodporuje otevřený režim.
Komentáře
- I mít nainstalován ex-vi.sourceforge.net , což je port původní Vi. Jak spustím tento otevřený režim? Stránka to zmiňuje, když hovoří o
^R
, ale neposkytuje žádnou další pomoc.:open some/file
vrátíopen: No such command from open/visual
. - @muru
Q
k zadání ex režimu, potéopen
.z
zobrazí kontext aktuálního řádku, jakmile ‚ znovu otevřete. Chcete-li vycouvat,Q
pakvi
.
Odpovědět
Časté dotazy k Vimu mají dobře formátovaný seznam: https://vimhelp.org/vim_faq.txt.html#faq-1.4
Výňatek z nejčastějších dotazů:
- Víceúrovňové vrácení
- karty, více oken a vyrovnávacích pamětí
- Režim flexibilního vkládání (lze použít klávesy se šipkami v režimu vložení)
- Makra
- Vizuální režim (vizuálně vyberte části textu)
- Blokovat operátory
- Online systém nápovědy
- Úpravy a historie příkazového řádku
- Dokončení příkazového řádku (dokončení karty)
- Horizontální posouvání (dlouhé řádky)
- Vylepšení Unicode a internacionalizace .
Odpověď
Myslím, že je velmi těžké provést srovnání, kvůli změnám ve vi, které mají se stalo v průběhu času.
Když jsem byl na vysoké škole, použil jsem prostou vanilku vi na němém terminálu (a také na emulátoru terminálu na Macu), který se připojoval k sálovým počítačům pomocí systému V. Ani nenajdete, že by nějaký více.
Ale ani si nejsem jistý, zda to byla pravda vi. V té době bylo vyrobeno mnoho klonů a portů, protože v té době vi nebyl open-source. A když prodejci vyráběli klony, přidali funkce, které ve vi nebyly. Historie je trochu spletitá. Můžete si je přečíst na Wikipedii i jinde.
Takže pokud nepoužíváte určité dodavatele / hardware, nepoužíváte vi, ale něco jako vi.
Ale vzpomínám si, že vi (nebo klon, který jsem používal) je ve svém rozhraní velmi minimalistický (žádné barvy, žádné štítky INSERT, žádné více undo atd.), ale přesto účinný v tom, čeho by mohl ve skutečnosti dosáhnout. Velmi praktické.