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=1
norelativenumber 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'
.
number
ve relativenumber
seç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>