8
votes

Échange de ligne dans Vim

Quelqu'un peut-il connaître des astuces dans Vim pour échanger facilement deux lignes de code? Je sais que l'échange de lignes adjacentes est trivial, mais disons que je voulais échanger la ligne 23 avec la ligne 52. Est-ce réalisable?


1 commentaires

ESC ->: 23 -> DD ->: 51 -> P -> K -> DD ->: 22 -> P :)


4 Réponses :


18
votes

Oui!

:23m52|51m22 


0 commentaires

2
votes

Si vous avez une sélection visuelle lorsque vous collez, il mettra la sélection dans le tampon par défaut après avoir collé. Donc, vous feriez 23gdd51gvp23gp


3 commentaires

Vous devriez continuer à utiliser: 23, car il construit un mot de passe encore meilleur. :-P


Ce bit sur le V-Select faire une pâte de swap est génial. Avec des marques pop, vous pouvez éviter les mathématiques, VY''VP''VP swaps les lignes actuelles et précédentes, donc 23g52gvy''vp''vp


... et un peu de googling trouve le gagnant, : vnoremap `.``` GVP``P , supprimez un texte, V-Sélectionnez ce que vous voulez échanger avec, appuyez sur ^ x.



2
votes

Utilisateur Déplacer la commande pour déplacer les lignes. par exemple, la ligne de swap 23 et la ligne 52: xxx

type : Aide Déplacer pour obtenir l'aide d'aide à l'utilisation de , il peut déplacer une plage des lignes: -)


0 commentaires

7
votes

mon Plugin LineJuggler a des mappages de mode normaux et visuels ] E et [e (et d'autres personnes, similaires au plugin populaire Unimpaired ) pour échanger la ligne / sélection en cours avec [Compte] lignes ci-dessous / ci-dessus.

Je pense qu'un : [plage] swap {plage} serait également utile; Je travaille sur ça.

EDIT : ICI IT: Plugin LineJugglerCands < / a>.


0 commentaires