상대 라인 번호를 표시하려면 어떻게해야합니까?


52

많은 vim 명령은 명령이 수행 될 행 수를 나타내는 숫자를 사용할 수 있습니다.

현재 줄을 기준으로 줄 번호를 표시 할 수 있습니까? 다음과 같은 것 :

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

답변:


64

방금 비슷한 질문에 대답했습니다 : Vim에 줄 번호를 어떻게 추가 할 수 있습니까?

버전 7.3부터 다음을 사용할 수 있습니다.

set relativenumber

실제로 현재 줄을 제외한 모든 줄에 상대 번호를 사용하는 vimrc relativenumber와 둘 다를 사용합니다 number.

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

확실하지 않지만 처음 언급 된 변경 로그는 7.3입니다. ftp.vim.org/pub/vim/patches/7.3/README
Collin Peters

7

다음을 사용하여 상대 번호 매기기를 켜거나 끌 수 있습니다.

: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
norelativenumber는 번호 매기기를 완전히 해제합니까 아니면 기존 번호 매기기로 전환합니까?
Nick J Adams

set number그것은 단지 확인해과 비 확인해 사이를 전환 할 수 있도록 숫자의 현존을 제어하는 설정입니다
shawndumas

2
numbers.vim플러그인은 또한 좀 더 진보 된 상대 번호 기능, 예를 들어, 커서가 아닌 상대 수를 인쇄 차지 선을 가진하고 정력 창이 포커스를 잃을 전체 파일 전체가 아닌 상대 번호로 전환을 추가합니다.
bronzehedwick

1
@shawndumas 그래서 어떤 숫자가 표시되는 우선 순위가 있습니까? 예를 들어 vimrc에 번호를 설정하고 relativenumber / norelativenumber를 호출하면 상대 번호와 표준 번호 사이를 전환 할 수 있습니까?
Nick J Adams

1
가장 정확합니다
shawndumas

4

상대 줄 번호를 전환하기 위해 핫키를 사용하려면 여기 vimrc의 스 니펫이 있습니다.

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

이 경우 ctrl-L을 두 번 사용하여 전환합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.