Tôi thấy cả số lượng và số tương đối hữu ích. Có cách nào để hiển thị cả hai cùng một lúc không?
Tôi thấy cả số lượng và số tương đối hữu ích. Có cách nào để hiển thị cả hai cùng một lúc không?
Câu trả lời:
Hiển thị tất cả các số dòng và số tương đối cùng một lúc là không thể. Nhưng bạn có thể lấy số dòng hiện tại và số tương đối cho tất cả những dòng khác. Từ :help number_relativenumber
:
The 'relativenumber' option changes the displayed number to be
relative to the cursor. Together with 'number' there are these
four combinations (cursor in line 3):
'nonu' 'nu' 'nonu' 'nu'
'nornu' 'nornu' 'rnu' 'rnu'
|apple | 1 apple | 2 apple | 2 apple
|pear | 2 pear | 1 pear | 1 pear
|nobody | 3 nobody | 0 nobody |3 nobody
|there | 4 there | 1 there | 1 there
Lý do về điều này có thể được tìm thấy tại cuộc thảo luận này về nhóm gửi thư vim-dev , trong đó có một liên kết đến một câu hỏi reddit tương tự: Đánh số tương đối với số tuyệt đối trên dòng hiện tại .
Không thực sự có thể hiển thị cả số và số tương đối cùng một lúc, bên cạnh những gì được đề cập tại :h number_relativenumber
(xem câu trả lời khác nhau).
Tuy nhiên, bạn có thể sử dụng sai cột máng xối để hiển thị số phụ. Ví dụ: bạn có thể sử dụng plugin DynamicSigns của tôi và để nó vẽ cột tương đối bên cạnh cột số. Để làm việc đó, bạn làm một cái gì đó như thế này:
:SignExpression CustomSignExpression(v:lnum, 1)
:let &nuw=&nuw+1
:set nu
Xem trợ giúp :h SignExpression
về định nghĩa của hàm CustomSignExpression (Phương tiện 1, để vẽ số tương đối ở mỗi dòng, sử dụng 5 để chỉ vẽ mỗi dòng thứ năm). Việc tăng 'numberwidth'
cài đặt ( :let &nuw=&nuw+1
phần) chỉ cần đảm bảo, sẽ có thêm khoảng trắng giữa cột máng xối và cột số.
Tuy nhiên, lưu ý, điều này sẽ làm chậm đáng kể vim khi cuộn, vì các dấu hiệu cần được tạo lại trên mỗi lần di chuyển.
set number relativenumber
?