Làm thế nào để bạn có được số dòng 'dòng màn hình' trong vim?


0

Tôi biết rằng trong VIM bạn có thể làm: đặt số, nhưng nếu một dòng kết thúc thì nó được tính là hai một dòng. Những gì vim gọi là linewise.

Tôi có thể đi lên và xuống theo kiểu 'dòng màn hình' gjgk, vì vậy ngay cả khi một dòng kết thúc trên nhiều dòng trên màn hình, nó sẽ đi lên và xuống một dòng trên màn hình, nhưng nếu tôi muốn ví dụ: xóa 30 dòng tiếp theo theo nghĩa theo chiều dọc màn hình, sẽ rất tốt nếu có các số theo chiều dọc màn hình.

Điều đó có thể không / Làm thế nào tôi có thể làm điều đó?


1
"... trong VIM ... nếu một dòng kết thúc thì nó được tính là 2 dòng" Một dòng được bọc do độ rộng đầu cuối sẽ không được tính là 2 dòng cho các toán tử theo dòng, nó sẽ được tính là 1, do đó jsẽ di chuyển lên 2 dòng thiết bị đầu cuối của bạn, nhưng chỉ có 1 dòng trong số lượng dòng vim.
jeremysprofile

@jeremysprofile đó là một loại nhầm, tôi đã sửa nó, cảm ơn
barlop

Câu trả lời:


0

Hầu như tất cả các lệnh Vim đều xử lý các dòng vật lý, không phải các dòng màn hình được bọc mềm. Đó là lý do tại sao các tính năng như 'relativenumber'cũng tính các dòng vật lý. Nhiệm vụ chỉnh sửa của bạn không nên phụ thuộc nhiều vào điều hướng với gj/ gk. Hãy thử một trong những lựa chọn thay thế sau:

  • Định dạng lại tài liệu để có dòng ngắn hơn, nếu có thể. Bạn thậm chí có thể định nghĩa :autocmds để ngắt / lắp ráp lại các dòng khi tải / lưu nếu định dạng trên đĩa không thể thay đổi.
  • Sử dụng chế độ trực quan (cùng với jvà / hoặc gj) để chọn lặp lại khu vực. Khi bạn trực tiếp nhìn thấy khu vực bị ảnh hưởng, điều này cũng sẽ khá nhanh.

Nếu bạn thực sự muốn đánh số dựa trên các dòng màn hình, bạn có thể sử dụng plugin RelativeNumber cũ mô phỏng tùy chọn được đề cập qua cột dấu hiệu và thay đổi plugin đó để hiển thị các dòng màn hình thay thế. Nó vẫn sẽ là một kinh nghiệm khá thô, mặc dù.

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.