Я нещодавно знав про !
техніку фільтрування , і мені це подобається. На жаль, я не в змозі використовувати його у режимі візуального блоку. Сподіваюся, деякі фахівці тут допоможуть мені.
В основному, я хочу на місці сортувати стовпчик, наприклад, третій нижче (просто MWE). І я не хочу заважати іншим стовпцям під час сортування.
Я намагався відфільтрувати ( !
) візуально (блок-режим) вибраний третій стовпчик через sort
утиліту. Але сортування швидше виходить за межі вибору, тобто всі рядки замінюються, а не лише виділення, що теж сортується на основі першого стовпця!
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
Я вибрав останній стовпець, використовуючи візуальний блок, і сказав, !sort --reverse
що відображається як
'<,'>!sort --reverse
І результат дивний на противагу тому, що я очікував. В результаті впорядковані / замінені цілі рядки, а не лише один стовпець, і це теж, грунтуючись на першому стовпці, незалежно від мого вибору третього стовпця!
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
Якщо інше неможливо, я хотів би отримати чисте рішення vim + сортування, а не відносно сучасні інструменти, такі як sed
/ awk
. Важливіше самому знати, наскільки обмежений режим візуального блоку, порівняно, скажімо, візуальний режим.
:help filter
), але і стандартизована (вибачте, я не знаю, як поглибити цей POS). Ви не можете скаржитися, якщо ви не RFTM.
sort
доступна внутрішня команда vim , тому не потрібно викликати зовнішню!sort
для звичайного сортування.