Lors de la modification des fichiers .scm
, il serait intéressant que Vim mette automatiquement l’accolade finale )
dès que je lance (
. Comment puis-je faire cela?
Réponses
Trop de publicités?Essayez d'utiliser le plugin AutoClose .
La réponse la plus simple est d'inclure une carte. Ex.:
:inoremap ( ()<left>
Le problème est que vous devez ajouter une entrée pour chaque symbole que vous souhaitez automatiquement fermé ('{','[','"',etc.). En outre, les plugins sont généralement plus intelligents, en fournissant des choses comme la détection de la "clôture" de caractère et de ne pas le répéter.
Le problème avec la solution ci-dessus et la plupart des plugins, c'est qu'ils ont tendance à casser l'annulation de la séquence (gundo quelqu'un?), comme l'explique:aider les ins-spécial-spécial.
Voici une liste de plugins qui font ce que vous demandez (à partir de vimtips):
- delimitMate par Israël Chauca Fuentes (configurable, et ne se cassent pas annuler/refaire/répéter, mais à rupture de iabbr) également sur GitHub
- Fermeture par Karl Guertin (auto-ferme spécifique codée en dur de caractères, mais ne rompt pas annuler/refaire/répéter)
- Fermeture par Thiago Alves (configurable, mais les sauts de undo/redo/répéter)
- auto-paires Auto Paires par Miao Jiang (configurable, mais les sauts de undo/redo/répéter)
- ClosePairs par Edoardo Vacchi (configurable, mais les sauts de undo/redo/répéter)
- smartinput par Kana Natsuno (configurable, mais les sauts de undo/redo/répéter)
En outre vimtips, il y a une autre belle explication de la question sur le web.
J'en avais besoin, et que j'ai déjà essayé quelques-uns des plugins:
AutoClose, http://www.vim.org/scripts/script.php?script_id=1849, est un peu agressif.
de simples paires, http://www.vim.org/scripts/script.php?script_id=2339dépend de Python. Si vous êtes sur Linux, il n'est pas un problème, mais sous Windows il peut être un problème pour correspondre à la Vim version de l'interpréteur de Python que vous avez.
Mon conseil serait de ClosePairs, que vous pouvez trouver à http://www.vim.org/scripts/script.php?script_id=2373 qui a été fonctionne parfaitement pour moi. Il est simple et utile.
Il existe de nombreux conseils et plugins sur le sujet. Jetez un coup d'œil à l' entrée correspondante sur le site vimtips.