7
votes

Puis-je avoir Vim Multiline Modifier?

J'ai fusionné un fichier Python à l'aide de Vimdiff, et le résultat a quelque chose comme ceci: xxx

dans cet état, l'indentation est incohérente. Comment puis-je supprimer tous les espaces devant les lignes? J'ai essayé en mode visuel, mais il sélectionne toute la ligne. Vim a-t-il une modification multiline? Notepad ++ permet à cela avec Alt-Shift.

vim

0 commentaires

4 Réponses :


8
votes

Ctrl-V Pour sélectionner des blocs.

ou, pour supprimer tout espace de blanc au début de toutes les lignes du fichier: xxx


2 commentaires

Si vous utilisez alors CTRL-V puis j pour sélectionner la colonne sur laquelle vous souhaitez aligner votre code, cliquez sur << / code> pour décaler le code situé derrière la colonne.


@Benoit: Grand tour! J'augmente souvent / diminuer l'indentation au milieu des lignes: jusqu'à présent, je faisais des espaces de tirage / colle!



6
votes

Il y a au moins deux solutions à votre problème:

  1. Il y a un mode de sélection de blocs bloqués que vous entrez en utilisant CTRL V . Vous pouvez sélectionner les espaces au début de vos lignes et frapper d .

  2. Alternativement, vous pouvez sélectionner la ligne que vous souhaitez modifier en entrant le mode visuel avec shift v (puis utiliser la flèche vers le bas ou j < / kbd> à sélectionner). Puis utilisez << / kbd> pour supprimer un niveau d'indentation. Utilisez . Pour répéter la dernière opération si vous souhaitez supprimer plusieurs indentations.


0 commentaires

3
votes

shift v vous mettra en mode ligne visuelle, puis vous pouvez appuyer sur : pour entrer une commande à exécuter uniquement sur la sélection de la sélection. lignes.


0 commentaires

3
votes

avec mode visuel, il vous suffit de sélectionner toutes les lignes que vous souhaitez refuser et d'appuyer sur = .

Je n'ai jamais utilisé Notepad ++ mais je pense que ce que vous appelez Multiline Modifier est réalisable avec ce que Vim appelle Vim Block: au lieu de v Hit . Vous êtes alors capable de sélectionner des portions rectangulaires de texte. Une fois que vous avez votre colonne, appuyez sur i ou A pour entrer en mode édition, puis Pour appliquer votre édition à toutes les lignes. Puisque vous voulez supprimer un seul espace, vous devez sélectionner visuellement la colonne d'espaces et appuyez sur x ou d .

Vous pouvez également le faire avec une simple recherche / remplacement, je suppose. Ou utiliser : norme .


0 commentaires