Viết các dòng vào một tệp từ ít hơn


17

Trong khi vimtôi có thể viết một loạt các dòng từ tệp tôi đang xem sang một tệp khác. Ví dụ,

:1,10 w outfile.txt

sẽ viết các dòng từ 1 đến 10 vào outfile.txt.

Tôi có thể làm tương tự trong khi tôi đang xem một tập tin bằng cách sử dụng lesskhông?

Câu trả lời:


17
10Gmm1G|mcat > outfile.txt

(được gõ trong less) dường như hoạt động miễn là đầu vào không vừa trong một màn hình (trong trường hợp đó tất cả đầu vào kết thúc outfile.txtvì một số lý do).

  • 10G đưa bạn đến dòng 10
  • mmđặt mdấu ở đó
  • 1G(giống như gtrong trường hợp này) đưa bạn đến dòng 1
  • |m đường ống từ dòng hiện tại để đánh dấu m
  • cat > outfile.txt: đó là đường ống dẫn đến lệnh đó.

Tôi đã phải dán lệnh tại dấu nhắc bởi vì việc gõ 10Gđã đưa tôi đến dòng thứ 10 trước khi tôi có thể gõ phần còn lại, nhưng nó thực sự hoạt động.
eebbesen

2
@eebbesen, đó là điểm chính. Xem chỉnh sửa của tôi
Stéphane Chazelas

Cảm ơn bạn đã làm rõ @StephaneChazelas (cũng như câu trả lời ban đầu của bạn) - hiện đã rõ ràng.
eebbesen

1
thiên tài để giải cứu một lần nữa :)
Ramesh

4

Bạn có thể sử dụng viewgiống nhưvi -r


4
Điều đó sẽ hoạt động, nhưng đối với các tệp lớn tôi thích sử dụng less- chính sự hiểu biết của tôi vikhiến toàn bộ tệp tải cùng một lúc.
eebbesen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.