7
votes

Le moyen le plus rapide de supprimer un argument de fonction dans Vim

Si j'ai le code suivant: xxx

avec curseur sur "B" dans "Baz" ou sur "W" dans "widget", comment puis-je supprimer rapidement l'argument à la curseur? xxx

Il peut s'agir d'un argument (premier, dernier ou au milieu).

vim

0 commentaires

5 Réponses :


6
votes

Pour le premier argument, cette combinaison clé va à l'ouverture de la parenthèse et supprime tout jusqu'à la virgule suivante, y compris l'espace après:

t (df, x

Pour un argument moyen, cette combinaison clé va à la virgule précédente et la supprime et tout jusqu'à la prochaine virgule:

f, dt,

Pour le dernier argument, cette combinaison clé va à la virgule précédente et la supprime et tout jusqu'à la parenthèse de fermeture:

f, dt)

- ou -

Vous pouvez écrire votre propre macro pour faire ce genre de chose. Un exemple similaire est ici .


4 commentaires

B ne vous ramène que au début de Baz, pas de retour à la virgule, et s'il n'y a pas d'espace, ça irait trop loin. Presque, bien que!


Cela rompt avec foo-> appel (bar, baz-> widget ());


En fait, le premier laissera une virgule supplémentaire. Travailler sur une solution qui supprimera aussi efficacement la virgule.


Là nous allons, ça devrait le faire.




2
votes

vim-argumentateur est une autre option de plug-in fourni a, et i, des objets texte et plus encore.


0 commentaires

3
votes

Targets.vim est un autre plugin fournissant aa et ia (qui puisse également manquer le comportement par défaut des objets textuels intégrés, comparez la discussion sur textobjectify )


0 commentaires

0
votes

?, Entrez pour passer à la précédente ','

d /, entrez pour supprimer à la suivante ','

pas de plugins requis

Vous devrez peut-être préparer les termes de recherche avec un numéro dans le cas des paramètres de modèle:

void foo (quelqueype a, quelqueye_template_type B, ATTYPEY C)

ou vous pouvez appuyer sur '.' ' Cependant de nombreuses séparations de virgules que vous souhaitez débarrasser de.


0 commentaires