10
votes

Trier les lignes dans l'éditeur 'VI'

Si je dois trier les lignes suivantes sur la base des valeurs à gauche de '='. Mais le tri doit élargir la sélection à la colonne après '=' simultanément. Thtz est que nous devons trier la colonne une fois '=' = ':: xxx

Ceci doit être effectué dans "VI" édition du fichier.

résultat devrait être :: xxx


0 commentaires

4 Réponses :


28
votes

Essayez: xxx

Il trier selon la ligne entière par ordre alphabétique. Si vous souhaitez trier numériquement (c.-à-d. Le numéro de la première colonne peut avoir une version différente), essayez: xxx

Ne vous inquiétez pas pour le = , il ne modifiera aucune ligne, cela changera simplement leur commande.


0 commentaires

5
votes

Vous pouvez effectuer ce qui suit pour voir la sortie triée: xxx pré>

explication: p>

  • : code>: pour entrer en mode EX. Li>
  • ! code>: vous permet d'exécuter une coquille commande. li>
  • % code>: nom du fichier actuellement ouvert. li> ul>

    Pour trier le fichier en le modifiant, vous pouvez rediriger sa sortie dans un fichier Temp, puis copier son contenu dans le fichier d'origine: p>

    :!(sort %>/tmp/tmp;cp -f /tmp/tmp %)
    


1 commentaires

Hmm, le fichier a été corrompu. J'ai oublié de vous dire STHIN: Ceci est un fichier XML qui a des attributs de cela comme ::



19
votes

Cette réponse est de 2 ans de retard, mais peut toujours être pertinente, en mode visuel, sélectionnez le bloc que vous souhaitez trier et exécuter:

:!sort


0 commentaires

1
votes

Je ne suis pas sûr exactement quand au cours des huit dernières années VI construit cela dans, mais vous pouvez maintenant exécuter: xxx

pour trier les entrées numériques au lieu de trier les entrées numériques au lieu de Utilisation de :! Pour exécuter la commande trier . Voir : Aide Trier


0 commentaires