J'essaie de mapper Ctrl+ spour enregistrer mon fichier mais cela ne fonctionne pas.
Mes cartographies:
map <C-s> :w <CR> :echo "Saved" <CR>
imap <C-s> <Esc> :w <CR> :echo "Saved" <CR> i
En mode insertion, je vois /:echo "Saved"
dans le coin inférieur au lieu de saved
et quand je suis en mode normal, je vois la même chose. Qu'est-ce que je fais mal?
C'est tout en haut de mon vimrc donc mon autre code ne devrait pas causer de problème. J'exécute Vim à l'intérieur du terminal OSX.
key-bindings
terminal
iProgramme
la source
la source
I am also running vim inside the Mac terminal.
' Oui, je lance vim via le terminal. Serait-il préférable d'utiliser Alt au lieu de Ctrl ou Cmd?<D-s>
bien que je ne sois pas sûr que cela fonctionne dans le terminal Vim, et c'est déjà un défaut dans MacVim de toute façon!Réponses:
Pour garantir que cette solution de contournement s'exécute même lorsque Vim est démarré par un outil distinct (tel que git), j'ai ceci dans mon
~/.vimrc
:Cela a fonctionné pour moi sur Linux, GVim, Mac OS X et MacVim.
Mises en garde:
Sous Windows, ou tout autre système d'exploitation dépourvu de la
stty
commande, ce qui précède générera probablement des erreurs à chaque démarrage de Vim! (silent!
pourrait couper le son.)Si votre shell avait déjà ce paramètre TTY désactivé, bien sûr, la commande
VimLeave
automatique le réactivera! Détecter et restaurer les paramètres actuels est un avantage avec l'approche @ aPyDeveloper.Une combinaison de cela et de la solution @ aPyDeveloper, qui gère les problèmes de compatibilité sous OS X et Windows, serait géniale à publier ici et / ou sur le Wiki!
Pour éviter de choisir entre
stty -g
etstty --save
, vous pouvez essayer le test suivant uniquement pour l'ix
option.la source
Merci à @Carpetsmoker pour les liens.
L'ajout de ce script a
bash_profile
fonctionné pour moi.Voici un lien pour cela. http://vim.wikia.com/wiki/Map_Ctrl-S_to_save_current_or_new_files
J'ai également dû supprimer l'espace avant:
la source