web-dev-qa-db-fra.com

comment déplacer un bloc ou une colonne de texte

J'ai le texte suivant comme un cas simple:

...
abc xxx 123 456
wer xxx 345 678676
...

ce dont j'ai besoin pour déplacer un bloc de texte xxx vers un autre emplacement:

...
abc 123 xxx 456
wer 345 xxx 678676
...

Je pense utiliser le mode visuel pour bloquer une colonne de texte. Quelles sont les autres commandes permettant de déplacer le bloc vers un autre emplacement?

26
David.Chu.ca

Sie sollten den blockweisen visuellen Modus verwenden (Ctrl+v). DanndBlock löschen,pune autrePBloquer einfügen.

42
Paul

Essayez le lien .


Texte de marquage (mode visuel)

  • v - démarrer le mode visuel, marquer les lignes, puis faire la commande (comme y-yank)
  • V - démarrer le mode visuel Linewise
  • o - se déplacer à l'autre extrémité de la zone marquée
  • Ctrl+v - démarrer le mode bloc visuel
  • O - déplacer à l'autre coin du bloc
  • aw - marquer un mot
  • ab - un () bloc (avec des accolades)
  • aB - un bloc {} (entre crochets)
  • ib - bloc inner ()
  • iB - bloc {} intérieur
  • Esc - quitter le mode visuel

Commandes visuelles

  • > - décaler à droite
  • < - décaler à gauche
  • y - texte marqué (copie)
  • d - supprimer le texte marqué
  • ~ - boîtier d'interrupteur

Couper et coller

  • yy - taper (copier) une ligne
  • 2yy - tirez 2 lignes
  • yw - Yank Word
  • y$ - tirer à la fin de la ligne
  • p - mettre (coller) le presse-papier après le curseur
  • P - mettre (coller) avant le curseur
  • dd - supprimer (couper) une ligne
  • dw - supprimer (couper) le mot actuel
  • x - supprimer (couper) le caractère actuel
15
Klinger

L’une des rares commandes utiles que j’ai apprises au début de l’apprentissage VIM est : 1,3 mois 5 Cela signifie déplacer les lignes 1 à 3 du texte vers la ligne 5. 

9
Kemin Zhou
  1. Dans VIM, appuyez sur Ctrl+V aller en mode Visual Block
  2. Sélectionnez les colonnes requises avec votre arrow keys et appuyez sur x les couper dans le tampon.
  3. Déplacez le curseur sur la ligne 1 colonne 9 et appuyez sur P (c'est la capitale P) en mode commande.
  4. Presse Ctrl+Shift+b entrer et sortir. ( source )
5
John Ellinwood

Utiliser une commande externe "awk".

%!awk '{print $1,$3,$2,$4}' test.txt 

Avec vim pur

:%s,\v(\w+) (\w+) (\w+) (\w+),\1 \3 \2 \4,g

Une autre solution vim utilisant la commande globale

:g/./normal wdwwP
0
SergioAraujo