Dokumentacja Vima mówi o :open
poleceniu:
This command is in Vi, but Vim only simulates it:
*:o* *:op* *:open*
:[range]o[pen] Works like |:visual|: end Ex mode.
{Vi: start editing in open mode}
:[range]o[pen] /pattern/ As above, additionally move the cursor to the
column where "pattern" matches in the cursor
line.
Vim does not support open mode, since it's not really useful. For those
situations where ":open" would start open mode Vim will leave Ex mode, which
allows executing the same commands, but updates the whole screen instead of
only one line.
Nie komentuje natury „symulacji” i tego, dlaczego uważa się ją za symulację, a nie za prawdziwe polecenie o innym zachowaniu. Po uruchomieniu z trybu ex (Q), rzeczywiście zachowuje się jak opisano.
Wydaje się jednak, że istnieje również inne otwarte polecenie. Gdy jest uruchamiany z normalnego wiersza poleceń lub z trybu ex z różnymi argumentami, wydaje się być synonimem :edit
. Po uruchomieniu z trybu poleceń za pomocą a /pattern/
ustawia kursor i najwyraźniej działa :edit
(pozycja kursora jest widoczna tylko wtedy, gdy: edycja się nie udaje). Można go również uruchomić jako :open /pattern/ file
, który ustawia kursor i działa:edit file
Moje pytanie brzmi: dlaczego nie jest to udokumentowane? Czy są jakieś różnice od :edit
tego, których nie zauważam? Czy :open
kiedyś był synonimem, :edit
a później zmienił się, próbując w połowie zachować zgodność z POSIX?