enregistrer en mode insertion (VIM)


34

Je suis nouveau à vim,

Habituellement, je souhaite sauvegarder et rester en mode insertion, plutôt que de frapper escape, :wpuis de retour en mode insertion.


2
Je pense que ça devrait rester ici. La plupart des questions de Vim sont posées sur les SO, et en commençant à les diviser entre les sites, on ne fait rien, si ce n'est de donner plus de travail à un utilisateur en termes de recherche dans les trois sites. Vim est également un éditeur plus souvent trouvé chez les programmeurs, puis chez les utilisateurs moyens (ou super :).
Rook

Je suis d'accord. SO a 1 199 questions étiquetées vim. SU a 106.
zen

Réponses:


38

Ctrl+O, alors :wet Enter.


Ouais, c'est comme ça que je le ferais aussi.
David Wolever

2
Ce qui est en réalité plus compliqué que la manière habituelle, à mon humble avis.
Tour

@ Idigas: pourquoi ça?
Akira

2
C'est le même nombre de touches, mais cela ne semble pas très vimish.
Seamus Connor

32

Vous pouvez ajouter un alias comme inoremap <F3> <c-o>:w<cr>en vous .vimrc.


4

Sans entrer dans un débat sur la bonne ou la mauvaise façon, si vous utilisez un Vim graphique comme MacVim ou GVim, vous devriez pouvoir utiliser Cmd- sou Ctrl- spour économiser. Je peux dire que cela fonctionne sous OS X avec MacVim et Cmd- set vous pouvez donc sauvegarder vos données en mode insertion.


2

Mis à part cette suggestion mentionnée par Juliano (qui devrait être retirée et projetée <- la suggestion, pas Juliano), c’est vraiment la mauvaise façon de le faire. Il serait en fait plus "normal" d'essayer de tout faire depuis le mode commande au lieu d'insérer. Mais les utiliser de manière interchangeable est la manière habituelle de vim et si on ne l'aime pas, il faut vraiment rester à l'écart de vim.

Si vous n'aimez vraiment pas ne pas pouvoir sauvegarder depuis le mode I, puis-je vous suggérer un éditeur appelé Cream - c'est une variante de vim, modifiée de manière à émuler les éditeurs de nos jours (pour ainsi dire, il reste en mode I tout le temps, et a des raccourcis Windows habituels).


1
Bien que je sois d’accord sur la règle générale, je ne pense pas que cela s’applique à la présente affaire. Si vous écrivez simplement un long texte et que vous voulez sauvegarder souvent, associer une clé à <Co>: w <CR> n'est pas si mal que ça.
Matteo Riva

@Michael Krelin ... - Je suis d'accord. Mais il a dit qu'il voulait le mode insertion, donc voilà. Personnellement, j'ai d'abord pensé à suggérer Notepad2 (ou une autre saveur particulière), mais cela aurait été voté comme non-réponse à la question.
Rook

@kemp - Non. Si vous écrivez un texte long et souhaitez sauvegarder souvent, vous utilisez les fonctionnalités de vim en termes de: sauvegarde, écriture et fichier d'échange (vous pouvez: aider n'importe lequel d'entre eux pour plus de détails). Vim est comme ça, et bien que j'aime (comme tous les autres) un peu de personnalisation de temps en temps, essayer d'éviter plusieurs modes est tout simplement faux. Et ça ne finira pas bien. Mieux vaut utiliser autre chose alors. Après tout, il existe de nos jours des éditeurs alternatifs assez puissants.
Rook

eh bien, je ne vois pas comment son utilisation du mode insertion (nous l’utilisons tous!) implique son désir de passer le reste de sa session vim dans celui-ci. Personnellement, j'ai un mapping pour <F2> dans les deux modes, simplement parce que depuis que j'ai un clavier fou à la fin des années 80, je ne peux pas désapprendre à frapper <F2> de temps en temps lors de l'édition ;-)
Michael Krelin - hacker

4
Je l'ai lu comme suit: "Je ne veux pas quitter le mode insertion uniquement pour enregistrer le fichier".
Michael Krelin - pirate informatique

1

Je ne peux pas ajouter de commentaire à la réponse de @ Tordek, faute de réputation :) complétant donc sa réponse:

inoremap <F2> <C-\><C-o>:w<CR>

L'ajout <C-\>empêchera de déplacer le curseur d'un caractère.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.