2009-07-24 7 views
8

Możesz przytrzymać kursor na środku ekranu, a następnie przewinąć tekst pod nim, ustawiając przewijanie na bardzo dużą liczbę. Ex:Jak: przypisać kursor vim do pewnej linii w oknie i przewinąć tekst pod tą pozycją kursora?

:let &scrolloff = 999 

Aby dowiedzieć się więcej o tym, jak to działa:

:help scrolloff 

Kocham tę funkcję i używać go przez cały czas, ale chciałbym zdolność do utrzymania kursora w innych miejscach innych niż środek ekranu. Na przykład chciałbym, aby kursor znajdował się w górnej części okna i był pod nim przewijany plik. Jestem prawie pewien, że nie ma nic natywnie dostępnego w vim, aby to zrobić, więc zastanawiałem się, czy ktoś nie wymyślił lekkiego fragmentu kodu VIM, aby to zrobić (czy może ktoś wymyślił taki skrypt)?


Oto mój mały kod .vimrc pomocnika do swich pozycję kursora rychło

" SCROLLFIX SHORTCUTS 
function! ToggleMyScrollFix() 
    if (g:scrollfix == 5) 
    let g:scrollfix = 50 
    elseif (g:scrollfix == 50) 
    let g:scrollfix = 95 
    elseif (g:scrollfix == 95) 
    let g:scrollfix = 5 
    else 
    let g:scrollfix = 50 
    endif 
endfunction 
nnoremap <silent> zz :call ToggleMyScrollFix()<CR>lh 
+1

+1 za poinformowanie mnie o scrolloff. To jest świetne! – Sean

Odpowiedz

5

Sprawdź scrollfix plugin. Używałem go kilka lat temu, więc nie wiem, czy nadal będzie działać z najnowszymi migawkami Vima - ale w najgorszym wypadku powinien dać całkiem niezły początek w modyfikowaniu go, by działał dla ciebie.

+0

Idealny! Tak, to jest dokładnie to, czego potrzebowałem i działa dobrze ... Dzięki za tonę ... – stephenmm

0

Można to zrobić:

nmap <C-Down> <C-E><Down> 
nmap <C-Up> <C-Y><Up> 
Powiązane problemy