Dzisiaj postanowiłem wypróbować Vi zamiast Vima, chciałem zobaczyć, jak różni się to. W ogóle nie zauważyłem dużych różnic, największą rzeczą, jaką zauważyłem, było to, że Vi nie powiedziała, -- INSERT --
kiedy wszedłem w tryb wstawiania, i były pewne drobne różnice interfejsu.
Zastanawiałem się, jakie są największe różnice między Vi a Vimem?
original-vi
Loovjo
źródło
źródło
Odpowiedzi:
W vimie znajduje się polecenie help, które mówi o różnicach:
:help vi_diff
Największe z witryny Vima to:
źródło
Vim ma wiele funkcji, których Vi nie ma, nawet funkcje, które oczywiście nie są funkcjami „zaawansowanymi”.
W praktyce oznacza to, że jeśli jesteś przyzwyczajony do Vi, prawdopodobnie napotkasz bardzo niewiele różnic, jeśli zaczniesz używać Vima (lub jakiegoś innego klonu Vi), ale jeśli jesteś przyzwyczajony do Vima i jeśli twój „refleks” obejmuje takie funkcje, jak wyróżnianie w trybie wizualnym, dowolna czynność kluczowa rozpoczynająca się od „g” lub „z”, dowolna czynność tekstowa oznaczona „i” lub „a” [np. „daw”, aby usunąć słowo pod kursorem], nawigacja za pomocą klawiszy strzałek w trybie wstawiania itd. przekonasz się, że nie działają one w Vi.
Jest także pytanie, czego dokładnie używałeś, kiedy mówiłeś, że „próbowałeś Vi”. W wielu systemach „vi” faktycznie uruchamia Vima w trybie, w którym obowiązują niektóre z tych różnic (domyślny tryb pokazu, jak zaobserwowano, klawisze strzałek nie działają w trybie wstawiania), a inne nie (tryb wizualny i klawisze g / z działają ), a niektóre funkcje zależą od opcji czasu kompilacji, która czasami jest wyłączona w „malutkim Vimie” używanym do tego celu (obiekty tekstowe, takie jak „aw” słowo, są jednym z nich). Nie dostaniesz ich, jeśli uruchomisz prawdziwego Vi lub jeśli „vi” to jakiś inny klon z mniejszą liczbą lub innymi funkcjami niż Vim, taki jak nvi lub VILE.
I z niejasnej strony, podczas gdy „malutki Vim w trybie Vi” oczywiście nie ma żadnych cech, których nie ma pełny Vim, istnieje kilka cech oryginalnego Vi, którego brakuje w Vimie. Są one udokumentowane w
:help vi-differences
.źródło
Większość porównań daje więcej funkcji vimowi niż vi, ale jest jeden wyjątek. W vi był tryb „otwarty”, a vim tak naprawdę nie ma tego trybu.
Tryb otwarty to tryb jednowierszowy, który był używany w przeszłości z terminalami, które nie miały wyświetlaczy elektronicznych, tj. Teletypów, drukarek literowych itp., A także z wyświetlaczami, w których kursor pozostaje tylko na dole.
Wiem, że istnieje dokumentacja, która mówi, że vim symuluje tryb otwarty, ale moje doświadczenie jest takie, że nie, ponieważ widziałem, że używa się go z vi na własne oczy i nigdy nie widziałem, żeby vim to robił. Wygląda na to, że vim po prostu używa
open
polecenia, aby po prostu otworzyć i edytować plik w trybie wizualnym. Wierzę, że oficjalna dokumentacja vima stwierdza, że nie obsługuje trybu otwartego.źródło
^R
, ale nie udziela żadnej innej pomocy.:open some/file
zwracaopen: No such command from open/visual
.Q
aby wejść w tryb exopen
.z
aby pokazać kontekst bieżącej linii, gdy jesteś w trybie otwartym. Aby wycofać,Q
wtedyvi
.Myślę, że bardzo trudno jest dokonać porównania, ze względu na zmiany w vi, które nastąpiły z czasem.
Kiedy byłem w college'u, używałem zwykłej wanilii vi na głupim terminalu (a także na emulatorze terminali na komputerze Mac), który łączył się z komputerami mainframe za pomocą Systemu V. Nie możesz tego nawet znaleźć.
Ale nie jestem nawet pewien, czy to prawda vi. Mniej więcej w tym czasie powstało wiele klonów i portów, ponieważ vi nie było wówczas open-source. A kiedy producenci tworzyli klony, dodawali funkcje, których nie było w vi. Historia jest trochę zawiła. Możesz przeczytać go na Wikipedii i gdzie indziej.
Więc jeśli nie korzystałeś z niektórych dostawców / sprzętu, nie korzystałeś z vi, ale coś w rodzaju vi.
Ale przypominam sobie, że vi (lub klon, którego używałem) jest bardzo minimalistyczny w swoim interfejsie (bez kolorów, bez etykiet INSERT, bez wielu cofnięć itp.), Ale potężny w tym, co może osiągnąć. Bardzo praktyczne.
źródło
FAQ Vima ma dobrze sformatowaną listę: https://vimhelp.org/vim_faq.txt.html#faq-1.4
Fragment FAQ:
źródło