ile
setl nu!
Relativenumber ile benzer şekilde sayıyı değiştirebilirim (açık / kapalı)
setl rnu!
{off, number, relativenumber} aralığını nasıl değiştirebilirim?
ile
setl nu!
Relativenumber ile benzer şekilde sayıyı değiştirebilirim (açık / kapalı)
setl rnu!
{off, number, relativenumber} aralığını nasıl değiştirebilirim?
Yanıtlar:
Çünkü bir mantık bulmacasını seviyorum ve bir vim komutu özlü tekrarlar için tek bir satıra sığdığında gerçekten seviyorum ( @:kişisel bir favori):
:exec &nu==&rnu? "se nu!" : "se rnu!"
Bu aynı döngüyü sürdürecektir. Bence esas olarak let &nu=1norelativenumber ayarlayacağı için - muhtemelen belgelerde bulunan nedenlerden dolayı :)
nmap <F3> :exec &nu==&rnu? "se nu!" : "se rnu!"<CR>3'ü F3 kullanarak üç seçenek arasında geçiş yapmak için bir satır olarak .vimrc dosyama yerleştirebilirim .
nnoremap <silent> <F3>görsel dikkat dağılmasını azaltmak ve diğer haritalara müdahale etmek için bunu yapabilirsiniz .
exe'se'&nu+&rnu?'rnu!':'nu'.
numberve relativenumberseçenekler arasındaki bağlantıdan emin olmak için bkz :helpg When setting this option.
Vim 7.3.1115 itibariyle bu biraz daha karmaşık hale gelmiştir.
Bunun nedeni, "satır numarası yok" ve "mutlak satır numaraları" nın yanı sıra, göreli satır numaraları için artık iki ayar vardır : sıradan "göreli satır numaraları" ve "imleç satırında mutlak numaralı göreli satır numaraları".
Daha teknik olarak konuşursak, dört kombinasyonun hepsi 'number've 'relativenumber'şimdi mümkündür.
Geçiş yapmak için:
Dört ayarın tümünü değiştirin, sayı yok → mutlak → göreli → imleç satırındaki mutlak ile göreli :
:exe 'set nu!' &nu ? 'rnu!' : ''
Sayı yok → mutlak → göreli arasında geçiş yapın :
:let [&nu, &rnu] = [&nu+&rnu==0, &nu]
Sayı yok → mutlak → bağıl ile imleç satırındaki mutlak arasında geçiş yapın :
:let [&nu, &rnu] = [!&rnu, &nu+&rnu==1]
Daha okunabilir bir çözüm isteyenler için, .vimrc dosyamda olan şu
" Relative or absolute number lines
function! NumberToggle()
if(&nu == 1)
set nu!
set rnu
else
set nornu
set nu
endif
endfunction
nnoremap <C-n> :call NumberToggle()<CR>
Bunun en güzel yanı, göreli ve mutlak sayı modları arasında geçiş yapmak için ctrl+ ntuşuna basabilmenizdir!
Yukarıdaki Eric Anderson gibi başka bir alternatif :
"Relative with start point or with line number or absolute number lines
function! NumberToggle()
if(&number == 1)
set number!
set relativenumber!
elseif(&relativenumber==1)
set relativenumber
set number
else
set norelativenumber
set number
endif
endfunction
nnoremap <C-n> :call NumberToggle()<CR>
" put this in your .vimrc or source it from your .vimrc
function! ToggleRelativeNumber()
if &relativenumber
set norelativenumber
else
set relativenumber
endif
endfunction
nmap ;r :call ToggleRelativeNumber()<CR>