Gần đây tôi đã nhận thức được !
kỹ thuật lọc và tôi thích nó. Thật không may, tôi không thể sử dụng nó trong chế độ khối hình ảnh. Hy vọng một số chuyên gia ở đây sẽ giúp tôi ra.
Về cơ bản, tôi muốn sắp xếp tại chỗ một cột như cột thứ ba bên dưới (chỉ là một MWE). Và tôi không muốn làm phiền các cột khác khi tôi sắp xếp.
Tôi đã cố gắng lọc ( !
) cột thứ ba trực quan (chế độ khối) được chọn thông qua sort
tiện ích. Nhưng sắp xếp khá vượt ra ngoài lựa chọn, tức là tất cả các hàng được hoán đổi, không chỉ là lựa chọn, mà quá sắp xếp dựa trên cột đầu tiên !
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
Tôi đã chọn cột cuối cùng bằng cách sử dụng khối trực quan và cho biết !sort --reverse
nó hiển thị dưới dạng
'<,'>!sort --reverse
Và kết quả thật kỳ lạ trái ngược với những gì tôi mong đợi. Kết quả có toàn bộ các hàng được sắp xếp / hoán đổi, không chỉ một cột, và điều đó cũng dựa trên cột đầu tiên bất kể lựa chọn cột thứ ba của tôi!
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
Trừ khi không thể, tôi muốn một giải pháp vim + sort thuần túy hơn là các công cụ tương đối tiên tiến như sed
/ awk
. Điều quan trọng hơn là tôi phải biết bản thân mình, chế độ khối hình ảnh bị giới hạn như thế nào, so với nói, chế độ hình ảnh.
sort
lệnh nội bộ vim , vì vậy bạn không cần phải gọi bên ngoài!sort
để thực hiện sắp xếp thông thường.