6
votes

Le mode "(insert)" de Vim?

Le mode " (insert)" peut être saisi par ctrl + o , v à partir de Insérer le mode. Cela entre en mode visuel, mais est affiché comme " (insertion) visuel " à partir de VIM, et appuyez sur ESC à partir de ce mode vous ramène en mode Insérer, pas en mode normal. Le mode « (insert) Visual » est également entré par les touches de la flèche décalées du mode Insérer.

Deux questions connexes:

  1. Il ne semble pas y avoir beaucoup de documentation sur ce mode spécial. Y a-t-il un moyen facile de rechercher des informations à ce sujet? (Edit: Je suis au courant de ce que Ctrl + est normalement. L'interaction avec le mode visuel semble être spéciale. Le premier paragraphe a été le moyen le plus simple de faire référence à ce que Ce mode est en premier lieu, car je ne connais pas un nom consultable pour cela.)

  2. Comment écrivez-vous VMAP mappings de manière fiable? À savoir, y a-t-il un moyen cohérent de laisser le mode visuel et de se retrouver en mode normal? Ou se retrouver systématiquement en mode insertion?


0 commentaires

4 Réponses :


0
votes

pour la première question.

ctrl + o en mode insertion exécute une commande, puis se remet ensuite en mode insertion. Voir : h i_ctrl-o .

pour la deuxième question.

Je ne pense pas que vous vous trouviez un moyen fiable de sortir en un seul mode ou un autre. La manière la plus fiable que je pense est de commencer dans le mode que vous souhaitez terminer.


0 commentaires

1
votes

Il est documenté à : h opérateur-en attente et juste en dessous de celui de : h mode-commutation . Les mappages de mode visuel fonctionneront également pour le mode visuel (insert). Voir : H MODES MODESTS Pour un examen de la cartographie du mode. VMAP Plan pour les modes Visual et Sélectionnera, XMAP Pour seulement sélectionner Visual mais NON SELECT, et SMAP Pour seulement sélectionner mais non visuel. En général, vous devez utiliser les versions noremap de ces commandes de mappage pour éviter les comportements inattendus.


1 commentaires

Vous avez une erreur ici: V [NORE] Carte (et [NORE] Carte ) définissez des mappages pour des modes sélectionnés et visuels (+ normal et en attente de l'opérateur pour < Code> Noremap ), X [NORE] Carte est utilisé uniquement pour le mode Visual uniquement, S [NORE] Carte est utilisé pour sélectionner le mode.



6
votes

À propos de la deuxième question: Vous pouvez passer en mode normal à partir de n'importe quel autre à l'aide de . Il n'y a pas de commandes pour basculer de manière fiable sur des modes visuels ou insert de cette façon, mais si vous n'avez besoin que de passer toujours en mode normal après que cela soit suffisant. Notez que la plupart des mappages de mode visual fonctionnent dans i V Mode spécial sans modifications.


1 commentaires

Merci, cela efface la deuxième question. J'ai une question connexe sur la façon dont les cartes fonctionnent dans i v ici (ce qui est invité celui-ci): Stackoverflow.com/ Questions / 16221213 / ...



14
votes

in insérer le mode , vous permet d'exécuter les commandes de mode normales sans quitter insérer le mode . VIM tente d'indiquer le nouvel état avec (insertion) . Puisque vous êtes maintenant temporellement dans le mode normal , frapper v vous met dans visual mode et VIM essaie, à nouveau, pour indiquer le nouvel état avec < code> (insert) visuel . Vim est dans cet état uniquement en raison de la séquence de commandes vous effectuées et, comme indiqué par d'autres, ce comportement est documenté. À ce stade, il est normal et prévu que vous met en mode insérer car c'est votre mode d'origine.

Quelqu'un avec une compréhension de Vim plus profond que moi peut être capable de vous dire s'il existe un moyen fiable de finir dans normal à partir de insert -> (normal ) -> visuel mais je dirais que toute l'idée semble poisson pour moi.

Une bonne utilisation est la suivante:

  1. Les choses dans normales mode
  2. Entrez insérer mode pour "insérer" quelque chose
  3. EXIT insérer le mode pour revenir à normal mode
  4. faire plus de choses dans normales mode
  5. Entrez mode visuel
  6. Les choses dans visuels mode
  7. EXIT mode visuel pour revenir à normal mode
  8. etc.

    Fondamentalement, vous n'êtes pas censé être plus différent d'un loin du mode normal .

    Je ne peux pas imaginer un scénario où utiliser v après fait tout sens.

    Le meilleur moyen préféré d'utiliser VIM est de rester hors insérer le mode autant que possible. En utilisant pour éviter de laisser insert est une stratégie très faible. Je ne sais pas si c'est ce que vous faites, mais si vous le faites, vous devez reconsidérer cette approche dès que possible.

    Mais je soupçonne que vous essayez de faire autre chose que vous ne pensez pas que nous ne pensions pas que nous devions savoir.


2 commentaires

Le mode " (insert) visuel est également entré par les touches de flèche décalées du mode insertion. C'est comme ça que je le rencontre couramment. La question était en effet incitée par "autre autre": je débogage des mappages de Vim qui se sont comportés complètement si elle a été activée à partir de visuel vs (insérer) visuel . Les tests supplémentaires révèlent bien que VIM sort habituellement de son chemin, donc cela n'a pas d'importance, par ex. Le VMAP vnoremap x JJJ fonctionne comme prévu de (insérer) visuel aussi.


Une situation où CTRL + O, V est lorsque le mode visuel est utilisé de manière à faire des modifications. Par exemple, j'ai des liaisons de mode visuels qui appellent des plugins qui effectuent des opérations d'emballage, par ex. Du mode normal, VIW) enveloppera le mot actuel à l'intérieur des parenthèses et ve) enveloppera de la position du curseur actuel à la fin du mot entre parenthèses. Ce qui n'est pas idéal, c'est lorsque je retourne en mode normal à partir du mode INSERT, il déplace le curseur en arrière d'un endroit, puis je dois taper (à partir du mode insertion) LVE) mais ici nous pouvons faire VE) et il peut être raccourci en outre avec une liaison de mode insertion.