589 votes

Changement de casse dans Vim

Existe-t-il une commande dans Vim qui permet de changer la casse du texte sélectionné ?

5 votes

785voto

Mark Rushakoff Points 97350

Sélectionnez visuellement le texte entonces U pour les majuscules ou u pour les minuscules. Pour intervertir toutes les casse dans une sélection visuelle, appuyez sur ~ (tilde).

Sans utiliser une sélection visuelle, gU<motion> fera en sorte que les caractères dans motion en majuscules, ou utilisez gu<motion> pour les minuscules.

Pour en savoir plus, voir la section 3 dans Le fichier change.txt de Vim fichier d'aide.

9 votes

En expérimentant, il semble que g~<motion> fonctionne aussi. Je voudrais peut-être ajouter que, j'ai tendance à utiliser ~ exclusivement.

29 votes

Ce qui signifie que nous pouvons utiliser gUiw pour transformer un mot en majuscule. Merci !

525voto

ungalnanban Points 1479

Voir les méthodes suivantes :

 ~    : Changes the case of current character

 guu  : Change current line from upper to lower.

 gUU  : Change current LINE from lower to upper.

 guw  : Change to end of current WORD from upper to lower.

 guaw : Change all of current WORD to lower.

 gUw  : Change to end of current WORD from lower to upper.

 gUaw : Change all of current WORD to upper.

 g~~  : Invert case to entire line

 g~w  : Invert case to current WORD

 guG  : Change to lowercase until the end of document.

 gU)  : Change until end of sentence to upper case

 gu}  : Change to end of paragraph to lower case

 gU5j : Change 5 lines below to upper case

 gu3k : Change 3 lines above to lower case

1 votes

Dans ce cas, les commandes aw et iw feraient la même chose puisque les espaces blancs n'ont pas de casse. Je pense que nous pouvons économiser une frappe et utiliser les versions w de la commande. Y a-t-il une raison d'utiliser aw ici ?

17 votes

guw change la casse de la position actuelle jusqu'à la fin du mot. guaw o guiw change le cas du mot entier.

4voto

Andy A. Points 735

En outre, même si tout est dit et que ce n'est pas pour la sélection visuelle :

Il existe des opérateurs :
Utilisation : mouvement de l'opérateur Voir :h operator y :h motion

Les opérateurs peuvent être

c   change
d   delete
gu  make lowercase
gU  make uppercase
...

Les motions sont pour la plupart bien connues :

0  first character of the line
$  end of line
aw a word
iw inner word
...

Vous devez donc vous souvenir de quelques opérateurs et des mouvements (il y en a beaucoup, mais vous aurez des favoris).

Vous obtiendrez ainsi la liste de @ungalnanban ci-dessus.


Trouvé sur Vim cheatsheet - devhints.io

0voto

Bruce Wen Points 19

gUaw : Change tout le MOT actuel en supérieur.

ne fonctionne pas pour vim 8.2.0834

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X