Ma config Vim inclut les plugins qui tentent de gérer projet en cours, les balises de construction, etc . C'est assez utile pour ma programmation quotidienne dans Vim, mais c'est juste ennuyeux quand j'utilise Vim pour des modifications rapides, comme:
- éditer un message de validation git;
- éditer une commande shell lorsque je tape Ctrl+xCtrl+ezsh ou bash;
- etc.
Je n'aime pas non --noplugins
plus, car je veux toujours profiter de certains plugins en mode d'édition rapide, tels que surround, easy-motion et bien d'autres.
Donc, je veux avoir un "mode léger" (ou "mode rapide"), dans lequel certains des plugins seront contournés, mais pas tous.
Ma première idée était d'avoir un argument spécial en ligne de commande, que j'analyserais en vimscript, mais une recherche rapide sur Google montre qu'il est actuellement impossible dans vimscript (horriblement triste, au fait).
Ma deuxième idée est de définir une variable d'environnement lors de l'exécution de vim, comme ceci:
$ VIM_LIGHT_MODE=1 vim
Cela fonctionne dans git:
$ git config --global core.editor 'VIM_LIGHT_MODE=1 vim'
Mais si je le fais EDITOR='VIM_LIGHT_MODE=1 vim'
et que je tape Ctrl+xCtrl+edans le shell, cela ne fonctionne pas:
edit-command-line:13: command not found: VIM_LIGHT_MODE=1
Ensuite, j'ai essayé ceci:, EDITOR="bash -c 'VIM_LIGHT_MODE=1 vim'"
mais il échoue également:
vim': -c: line 1: syntax error: unexpected end of file
(Pour être honnête, celui-ci a l'air particulièrement étrange, il semble que je ne comprenne pas exactement comment il $EDITOR
est utilisé, et je serais heureux si quelqu'un explique ce qui se passe ici)
Toutes les autres expériences ont également échoué.
Le seul hack auquel je peux penser est d'en définir servername
, comme:
$ vim --servername VIM_LIGHTWEIGHT_MODE
Et puis vérifiez v:servername
dans vimscript, mais c'est un hack total : ce n'est pas du tout le nom du serveur.
Existe-t-il un moyen plus propre de réaliser ce que je veux?
vim
tant que vim -u .vimrc-light
.
env
tout au courant , mon shell-fu est encore trop faible. Pensez à l'écrire comme réponse, afin que je puisse l'accepter.
env
:EDITOR='env VIM_LIGHT_MODE=1 vim'
.