8
votes

Comment désactiver une commande intégrée dans Vim

dans Vim, lorsque je frappe : wq c'est presque toujours un accident survenu lors de la tentative d'entrée : w . Je voudrais désactiver : wq .

Le plus proche que j'ai trouvé est CMAP , mais il a un comportement impair. Si je fais quelque chose comme xxx

je ne peux même plus entrer : wq ; Il suffit de la séquence de Keystroke wq à w en mode de commande. Maintenant, je ne peux pas, par exemple, entrez une commande de recherche / remplacement sur une chaîne contenant wq .

Je voudrais juste alias la commande exacte : wq > Pour : w ou un non-op. Existe-t-il un moyen de faire cela?

EDIT: clarifié Pourquoi : CMAP n'est pas une option pour moi


0 commentaires

3 Réponses :


5
votes

Une meilleure solution peut être: xxx pré>

mais je ne sais pas pourquoi CMAP code> ne fonctionne pas comme excepté. En fait, j'avais mappé l'une des touches de la fonction pour enregistrer des fichiers: p> xxx pré>

mise à jour em> stry>: typo corrigé dans la première commande. P>

update2 em> strong>: Solution possible: p>

:cabbrev wq<CR> w


5 commentaires

Pouvez-vous s'il vous plaît expliquer: Cabbrew?


Je pense que cela devrait être : Cabbrev . : CABBREV WQ W Va modifier WQ vers W après avoir appuyé sur l'espace ou l'entrée, il fonctionnera donc : wq do : w . Voir : Aide: Cabbrev et : Aide: AB Pour plus d'informations.


Désolé, je pense que je n'étais pas assez clair dans ma question. Si vous le faites: CMAP et il semble également: Cabbrew, cela signifie que la séquence de frappe "WQ" en mode de commande est mappée sur autre chose que "WQ". Alors, vous ne pouvez donc pas, par exemple, effectuer une recherche / remplacer sur une chaîne contenant "wq". Tout ce que je voudrais faire, c'est que si j'entraîne la commande exacte: wq, il est aliasé à "w" ou non.


Merci AI, typo corrigé. Je plonge dans le problème. Comme ce n'est pas la solution correcte.


Il suffit de m'arrêter pour dire merci - j'essaie de me débrouiller des onglets, ce faisant de Cabbrev Tabnew Aide! Made Vim Donnez un message d'erreur chaque fois que j'essaie de faire un onglet.



0
votes

On dirait que la meilleure option est de vous habituer à : CMAP comportement. Dans l'événement rare, je souhaite saisir le clavier SEQEUNCE WQ Je peux simplement appuyer sur wq , attendre une seconde, puis appuyez sur q à nouveau. J'ai trouvé Cette solution possible mais elle est trop complexe pour mes goûts.


0 commentaires

0
votes

J'ai ajouté un correctif à une ligne et a ran dpkg-reconsuildpackage pour renommer : wa à : wwa : xxx

vous allez Besoin de créer ce correctif dans Debian / Patchs / et ajoutez-le à Debian / Patchs / Série .


0 commentaires