2010-10-14 23 views
7

Tôi đang chỉnh sửa một mảng văn bản lớn trong vim và tôi muốn tính toán trên một cột phụ của nó.Đường ống hình chữ nhật khu vực văn bản từ vim đến một chương trình bên ngoài?

dụ đơn giản của tập tin chỉnh sửa:

name value name saturation 
red 5  green 2 
blue 7  yellow 7 
other text 

Tôi muốn cột ống 4 thông qua một calc.pl chương trình bên ngoài, calc.pl thay thế số với những con số mới trong đầu vào, ví dụ:

name value name saturation 
red 5  green 2.4 
blue 7  yellow 7.14 
other text 

Khi tôi chọn hình chữ nhật trong cột 4, sử dụng v.motion và! Perl calc.pl toàn bộ đường thẳng được đường ống tới calc.pl, không chỉ hình chữ nhật.

Một công việc xung quanh sẽ là: cắt hình chữ nhật sang tệp tạm thời, chạy calc.pl trên tệp tạm thời và sau đó đọc đầu ra dưới dạng hình chữ nhật.

Có giải pháp chuyển tiếp thẳng trong vim, không có để cắt/vỏ/dán không?

Trả lời

3

Bạn có thể thử các plugin vis bởi Charles Campbell

Sử dụng Ctrl-V để chọn một cột, sau đó áp dụng một bộ lọc bên ngoài để cột đó. ctrl-v ..move.. :B !sort

Một plugin khác có thể phù hợp với bạn là NrrwRgn bởi Christian Brabandt.

Sử dụng: NarrowRegion để thu hẹp một dòng dựa lựa chọn hoặc cách khác trực quan chọn một phạm vi và nhấn nr

Trong bộ đệm đầu chỉ cần lưu nó và thay đổi này sẽ được sao chép vào tập tin gốc. Đây chỉ là một trợ giúp rất đơn giản. Bạn có lẽ nên đọc trợ giúp, được cung cấp kèm theo plugin. Xem: h NarrowRegion

Các vấn đề liên quan