J'étais récemment au courant de la !
technique de filtrage et je l'adore. Malheureusement, je ne peux pas l'utiliser en mode de blocage visuel. J'espère que certains experts ici m'aideront.
Fondamentalement, je veux trier sur place une colonne telle que la troisième ci-dessous (juste un MWE). Et je ne veux pas déranger les autres colonnes quand je trie.
J'ai essayé de filtrer ( !
) la troisième colonne sélectionnée visuellement (en mode bloc) via l' sort
utilitaire. Mais le tri s'étend plutôt au-delà de la sélection, c'est-à-dire que toutes les lignes sont permutées, pas seulement la sélection, ce tri aussi basé sur la première colonne!
1. LARGEST 40
2. SECOND-LARGEST 168
3. MID 2.8
4. MID 540
5. MID 14.84
6. MID 40
7. SECOND-LEAST 64
8. LEAST 8
J'ai sélectionné la dernière colonne à l'aide de visual-block et j'ai dit !sort --reverse
qui apparaît comme
'<,'>!sort --reverse
Et le résultat est étrange contrairement à ce que j'attendais. Le résultat a trié / échangé les lignes entières, pas seulement une colonne, et cela aussi, basé sur la première colonne indépendamment de ma sélection de troisième colonne!
8. LEAST 8
7. SECOND-LEAST 64
6. MID 40
5. MID 14.84
4. MID 540
3. MID 2.8
2. SECOND-LARGEST 168
1. LARGEST 40
Sauf impossibilité contraire, je souhaiterais une solution de tri pur vim +, plutôt que des outils relativement avancés tels que sed
/ awk
. Il est plus important de me connaître, à quel point le mode de blocage visuel est limité, par rapport au mode visuel, par exemple.
:help filter
) mais également standardisé (désolé, je ne sais pas comment lier en profondeur ce point de vente). Vous ne pouvez pas vous plaindre si vous ne faites pas de RFTM.
sort
commande interne vim est disponible, vous n'avez donc pas besoin d'invoquer l'externe!sort
pour effectuer un tri régulier.