La documentation de Vim a ceci à dire sur la :open
commande:
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.
Il ne commente pas la nature de la "simulation", et pourquoi elle est considérée comme une simulation plutôt qu'une véritable commande avec un comportement différent. Lorsqu'il est exécuté à partir du mode ex (Q), il se comporte en effet comme décrit.
Cependant, il semble également y avoir une commande ouverte différente. Lorsqu'il est exécuté à partir de la ligne de commande normale ou à partir du mode ex avec différents arguments, il semble être synonyme de :edit
. Lorsqu'il est exécuté en mode commande avec a /pattern/
, il positionne le curseur et s'exécute apparemment :edit
(la position du curseur n'étant évidente que si: l'édition échoue.) Il peut également être exécuté en tant que :open /pattern/ file
, ce qui positionne le curseur et s'exécute:edit file
Ma question est: pourquoi cela n'est-il pas documenté? Y a-t-il des différences par rapport à ce :edit
que je ne remarque pas? Était-il :open
autrefois synonyme de :edit
et n'a été modifié que plus tard dans le but de se conformer à mi-chemin avec POSIX?