2009-07-24 1 views
8

Sie können die Cursorlinie in der Mitte des Bildschirms halten und den Text darunter rollen lassen, indem Sie den Scrolloff auf eine sehr große Zahl setzen. Ex:Gewusst wie: Zuweisen vim Cursor zu einer bestimmten Zeile im Fenster und lassen Sie den Text unter dieser Cursorposition scrollen?

:let &scrolloff = 999 

Um mehr darüber zu lesen, wie dies funktioniert:

:help scrolloff 

Ich liebe diese Funktion und verwenden es die ganze Zeit, aber ich möchte die Möglichkeit, den Cursor an anderen Stellen außer den halten Mitte des Bildschirms. Zum Beispiel möchte ich den Cursor am oberen Rand des Fensters halten und die Datei darunter scrollen lassen. Ich bin mir ziemlich sicher, dass nichts in vim verfügbar ist, um dies zu tun, also habe ich mich gefragt, ob jemand ein leichtes Wieght-Vim-Skript-Snippet erfunden hat (oder kann jemand mit solch einem Skript aufwarten)?


Hier ist meine kleine .vimrc Helfer Code, um die Position des Cursors swich schnell:

" 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 Für mich über scrolloff wissen zu lassen. Das ist toll! – Sean

Antwort

5

Schauen Sie sich die scrollfix plugin. Ich habe es vor ein paar Jahren benutzt, also weiß ich nicht, ob es immer noch mit den neuesten Snapshots von Vim funktioniert - aber im schlimmsten Fall sollte es dir einen guten Start geben, es für dich zu modifizieren.

+0

Perfekt! Yep, das ist genau das, was ich brauchte und es funktioniert gut ... Vielen Dank. – stephenmm

0

Sie können dies tun:

nmap <C-Down> <C-E><Down> 
nmap <C-Up> <C-Y><Up>