Astăzi, am decis să încerc vi în loc de Vim; Am vrut să văd cât de diferit este.
Nu am observat deloc prea multe diferențe. Cel mai mare lucru pe care l-am observat a fost modul în care vi nu am spus -- INSERT --
când am intrat în modul de inserare și există câteva diferențe minore de interfață.
Acest lucru m-a făcut să mă întreb, care sunt cele mai mari diferențe între vi și Vim?
Comentarii
- Evident, nu ‘ nu utilizați multe funcții avansate ale vim. selectare bloc, căutare cuvânt sub cursor, număr de creștere sub cursor, evidențiere a sintaxei etc.
- Post asociat – Care este diferența dintre Vi și Vim?
- Există unele simpatii evidente, cum ar fi suportul extins pentru chei. Tastele săgeți funcționează spre deosebire de hjkl.
Răspuns
De fapt, există o comandă de ajutor în Vim pentru a vă spune despre diferențe: :help vi_diff
(rețineți sublinierea: :help vi_diff
)
De pe site-ul Vim , cele mai mari sunt:
undo nelimitat
Puteți face xxxx și anula fiecare dintre cele patru ștergeri. Când a fost ultima dată când ați tastat ” jjjj ” și apoi ați aflat că tasta de blocare a majusculelor era activată? Ați unit în mod accidental cinci linii și Vi poate anulați doar ultima comandă. În Vim puteți anula toate cele patru comenzi ” J ” și puteți recupera textul original.
portabilitate
Vi este disponibil numai pe Unix. Vim funcționează pe MS-Windows, Maci ntosh, Amiga, OS / 2, VMS, QNX și alte sisteme. Și, de asemenea, pe fiecare sistem Unix.
evidențierea sintaxei
Vim poate fi programat pentru a evidenția porțiuni ale bufferului în diferite culori sau stiluri, pe baza tipului de fișier care se editează. Există sute de seturi de reguli de evidențiere a sintaxei grupate cu Vim.
GUI
Vim funcționează bine la o consolă, dar poate rula nativ în multe GUI, inclusiv X Windows, Mac OS și Microsoft Windows. Utilizează widget-uri GUI native pentru derulare, împărțirea bufferelor și meniuri. Poate vorbi și cu clipboardul.
Comentarii
Răspuns
Vim are multe caracteristici pe care Vi nu le are, chiar și caracteristici care nu sunt evident caracteristici „avansate”.
În practică, acest lucru înseamnă că, dacă sunteți obișnuit cu Vi, veți întâlni probabil foarte puține diferențe dacă începeți să utilizați Vim (sau o altă clonă Vi), dar dacă sunteți folosit la Vim și dacă „reflexele” dvs. includ funcții precum evidențierea modului vizual, orice acțiune cheie care începe cu „g” sau „z”, orice acțiune text cu „i” sau „a” [de ex. „daw” pentru a șterge un cuvânt sub cursor], navigând cu tastele săgeată în modul inserare, etc., veți descoperi că cei care nu funcționează în Vi.
Există și întrebarea despre ce anume pe care îl utilizați când spuneți că ați „încercat Vi”. Pe multe sisteme, „vi” rulează de fapt Vim, într-un mod în care se aplică unele dintre aceste diferențe (modul de afișare implicit așa cum ați observat, tastele săgeți nu funcționează în modul inserare) și altele nu (modul vizual și tastele g / z funcționează ), iar unele caracteristici depind de o opțiune de compilare care este uneori dezactivată în „micul Vim” care este folosit pentru aceasta (obiectele text, cum ar fi „aw” un cuvânt, sunt una dintre acestea). Nu veți obține acestea dacă rulați real Vi sau dacă „vi” este o altă clonă cu mai puține caracteristici sau diferite decât Vim, cum ar fi nvi sau VILE.
Și, pe obscur parte, în timp ce „micul Vim în modul Vi” nu are, în mod evident, nicio caracteristică pe care un Vim complet nu o are, există câteva caracteristici ale originalului Vi original care nu are vim. Acestea sunt documentate în :help vi-differences
.
Comentarii
- Am ‘ pariat foarte mult că OP are de fapt un ” tiny vim ” vi.
- spuneți că pe multe sisteme v i comanda de fapt rulează vim. Deci, cum să aflu dacă rulez cu adevărat vi sau vim?
- @firstpostcommenter Ei bine, ‘ va arăta în continuare ca vim – ~ pe partea stângă a ecranului va avea culoarea albastră, iar textul anunțului versiunii poate apărea în continuare în centrul ecranului dacă îl porniți singur, fără a specifica un fișier.Dacă ‘ vă preocupă foarte mult ce editor executați, există și alte clone vi care ar putea fi instalate în loc și ” vi ” este foarte rar în distribuțiile linux / bsd.
Răspuns
Majoritatea comparațiilor oferă Vim mai multă funcționalitate decât vi, dar există o excepție. Exista un mod „deschis” în vi, iar Vim nu are cu adevărat acest mod.
Modul Deschis este un mod cu o singură linie care a fost folosit în timpul zilei cu terminale care nu aveau electronice afișaje, adică teletipuri, tipografe și altele asemenea, și, de asemenea, cu afișaje în care cursorul rămâne doar în partea de jos.
Știu că există documentație care spune că Vim simulează modul deschis, dar experiența mea este că nu este. Căci l-am văzut folosit cu vi cu ochii mei și nu l-am văzut niciodată pe Vim făcându-l. Se pare că Vim folosește pur și simplu comanda open
pur și simplu pentru a deschide și editați un fișier în modul vizual. Cred că documentația oficială a lui Vim afirmă că nu acceptă modul deschis.
Comentarii
- I au instalat ex-vi.sourceforge.net , care este un port al originalului Vi. Cum încep acest mod deschis? Pagina de utilizare îl menționează atunci când vorbești despre
^R
, dar nu oferă alt ajutor.:open some/file
returneazăopen: No such command from open/visual
. - @muru
Q
pentru a intra ex modul, apoiopen
.z
pentru a afișa contextul liniei curente odată ce ‘ reveniți în modul deschis. Pentru a renunța,Q
apoivi
.
Răspuns
Întrebările frecvente Vim are o listă bine formatată: https://vimhelp.org/vim_faq.txt.html#faq-1.4
Extras din Întrebări frecvente:
- Anulare pe mai multe niveluri
- Filele, ferestre multiple și tampoane
- Mod de inserare flexibil (se poate utiliza tastele săgeată în modul Insert)
- Macrocomenzi
- Mod vizual (selectați vizual secțiuni de text)
- Blocați operatorii
- Sistem de ajutor online
- Editare linie de comandă și istoric
- Finalizare linie de comandă (completare filă)
- Derulare orizontală (linii lungi)
- Îmbunătățiri Unicode și internaționalizare .
Răspuns
Cred că este foarte greu să faci comparație, din cauza modificărilor din vi care au s-a întâmplat în timp.
Când eram la facultate, am folosit plain-vanilla vi pe un terminal prost (și, de asemenea, pe un emulator de terminal pe un Mac) care s-a conectat la mainframe folosind System V. Nu poți găsi nici măcar că orice mai mult.
Dar nici măcar nu sunt sigur că a fost adevărat vi. În acea perioadă, au existat o mulțime de clone și porturi făcute, deoarece vi-ul nu era open-source în acel moment. Și când furnizorii au făcut clone, au adăugat caracteristici care nu erau în vi. Istoria este cam complicată. Puteți să-l citiți pe Wikipedia și în alte părți.
Deci, dacă nu utilizați anumiți furnizori / hardware, nu utilizați vi, dar ceva gen vi.
Dar îmi amintesc că vi (sau clona pe care o foloseam) fiind foarte minimalistă în interfața sa (fără culori, fără etichete INSERT, fără undos mulitple etc.), dar puternică în ceea ce ar putea efectua. Foarte practic.