Làm thế nào tôi có thể hiển thị số dòng tương đối?


53

Rất nhiều lệnh vim có thể lấy một số tham chiếu đến số dòng mà lệnh sẽ hành động.

Có thể hiển thị số dòng liên quan đến dòng hiện tại? Một cái gì đó như sau:

3: some text here
2: more text
1: This is the line above where the cursor is
0: The cursor is on this line
1: This is the line after the cursor
2: More text here

Câu trả lời:


65

Tôi chỉ trả lời một câu hỏi tương tự ở đây: Làm cách nào tôi có thể thêm số dòng vào Vim?

Bắt đầu với phiên bản 7.3, bạn có thể sử dụng như sau:

set relativenumber

Tôi thực sự sử dụng cả hai relativenumbernumbertrong vimrc của tôi, nó sẽ sử dụng các số tương đối cho tất cả các dòng ngoại trừ dòng hiện tại.

set number                     " Show current line number
set relativenumber             " Show relative line numbers

Không chắc chắn chính xác nhưng thay đổi đầu tiên mà nó đề cập đến là 7.3. ftp.vim.org/pub/vim/patches/7.3/README
Collin Peters

7

Bạn có thể bật và tắt đánh số tương đối bằng cách sử dụng:

:set rnu    " toggle relative numbering on
:set rnu!   " toggle relative numbering off

5
function! NumberToggle()
  if(&relativenumber == 1)
    set norelativenumber
  else
    set relativenumber
  endif
endfunc

nnoremap <leader>nt :call NumberToggle()<cr>

2
Liệu norelativenumber chỉ tắt hoàn toàn việc đánh số hay nó chuyển sang đánh số thông thường?
Nick J Adams

set numberlà cài đặt kiểm soát sự hiện diện của các con số, vì vậy nó sẽ chỉ chuyển đổi giữa rel và không rel
Shawndumas

2
Các numbers.vimplugin cũng cho biết thêm một số chức năng số lượng tương đối cao cấp hơn, ví dụ như có dòng con trỏ chiếm in số lượng phi tương đối, và chuyển sang đánh số phi tương đối trong suốt toàn bộ tập tin khi cửa sổ vim mất tập trung.
bronzehedwick 3/2/2015

1
@shawndumas vậy có ưu tiên số nào được hiển thị không? Ví dụ, nếu tôi đã đặt số trong vimrc của mình và đặt relativenumber / norelativenumber được gọi thì có thể chuyển đổi giữa đánh số tương đối và đánh số tiêu chuẩn không?
Nick J Adams

1
đó là chính xác nhất
Shawndumas

4

Nếu bạn muốn sử dụng một phím nóng để chuyển số dòng tương đối, đây là đoạn trích trong vimrc của tôi:

" Toggle relative line number
nmap <C-L><C-L> :set invrelativenumber<CR>

Trong trường hợp này, tôi sử dụng ctrl-L hai lần để chuyển đổi nó.

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.