2011-10-26 17 views
9

tôi thường xóa, yank, và dán sử dụng một cái gì đó như thế này:Cách tốt nhất trong Vim để hoạt động trên các phạm vi tương đối trong chế độ trực quan là gì?

:3,6y 

Kể từ Vim 7, tôi đã chuyển sang sử dụng số dòng tương đối. Tôi thấy việc sử dụng đánh số dòng tương đối dễ dàng hơn nhiều với các lệnh như h,j,k,l, v.v.

Vì chuyển sang đánh số dòng tương đối, tôi thấy khó vận hành trên phạm vi tuyệt đối (ví dụ: :3,6y). Tôi mất quá nhiều thời gian để xác định những số dòng tuyệt đối tôi cần chọn vì Vim đang hiển thị số dòng tương đối.

Cách tốt nhất/nhanh nhất để sử dụng lựa chọn trực quan trên một phạm vi nào nếu thiết lập của bạn hiển thị số dòng tương đối? Naively, tôi đang tìm một cái gì đó như:

:-2,+8y 

(yank the lines from 2 lines above my current position to 
8 lines below my current position.) 
+2

Xin lỗi, nhưng làm thế nào chính xác bạn xóa, yank và dán trong chế độ trực quan bằng cách sử dụng một cái gì đó như thế này: ': v 3,6y'? Tôi không thể hiểu lệnh này liên quan đến chế độ trực quan như thế nào. – sidyll

+1

Opps, tôi không có ý định cho câu hỏi này được phrased cho chế độ hình ảnh. Tôi đã chỉnh sửa nó để nó bây giờ là chính xác. Cảm ơn. – drbunsen

Trả lời

9

Bạn đã thử điều ngây thơ của mình chưa?

:-2,+8y tương đương với :.-2,.+8y và nên làm những gì bạn muốn.

Lưu ý rằng nếu bạn không chỉ định số, 1 được giả định, vì vậy: :,+y có nghĩa là .,.+1 y: yank dòng hiện tại và tiếp theo.

Trên :help range nó không được giải thích rõ. Các bộ phận có liên quan đang ở đây:

Line numbers may be specified with:  *:range* *E14* *{address}* 
    [...] 
    .  the current line    *:.* 
    [...] 
Each may be followed (several times) by '+' or '-' and an optional number. 
This number is added or subtracted from the preceding line number. If the 
number is omitted, 1 is used. 

gì tài liệu không nói là nếu + r - không bắt đầu bằng bất cứ điều gì, . được giả định.

+0

Cảm ơn, đây chính xác là những gì tôi đang tìm kiếm. Tôi không hiểu việc sử dụng khoảng thời gian từ các tài liệu và tôi đã nhận được một 'phạm vi ngược được đưa ra, OK để hoán đổi (y/n)' khi sử dụng các số âm. – drbunsen