La documentación de Vim tiene esto que decir sobre el :open
comando:
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.
No comenta sobre la naturaleza de la "simulación", y por qué esto se considera una simulación en lugar de un comando real con un comportamiento diferente. Cuando se ejecuta desde el modo ex (Q), de hecho se comporta como se describe.
Sin embargo, también parece haber un comando de apertura diferente. Cuando se ejecuta desde la línea de comando normal, o desde el modo ex con diferentes argumentos, parece ser un sinónimo de :edit
. Cuando se ejecuta desde el modo de comando con a /pattern/
, posiciona el cursor y aparentemente se ejecuta :edit
(con la posición del cursor solo evidente si: la edición falla). También se puede ejecutar como :open /pattern/ file
, que posiciona el cursor y se ejecuta:edit file
Mi pregunta es: ¿Por qué esto no está documentado? ¿Hay alguna diferencia con respecto a :edit
eso que no estoy notando? ¿ :open
Alguna vez fue sinónimo :edit
y solo cambió más tarde en un intento de cumplir a medias con POSIX?