如何:将vim光标分配给窗口中的某一行,并将文本滚动到该光标位置下方?

时间:2009-07-24 19:00:00

标签: scripting vim

您可以将光标线保持在屏幕中间,然后通过将滚动设置为非常大的数字使文本在其下方滚动。例如:

:let &scrolloff = 999

要详细了解其工作原理:

:help scrolloff

我喜欢这个功能,并且一直使用它,但我希望能够将光标保持在屏幕中间以外的其他位置。例如,我希望能够将光标保持在窗口的顶部并让文件在其下方滚动。我很确定在vim中没有本地可用的内容,所以我想知道是否有人想出一个轻巧的vim脚本片段来做这个(或者有人想出这样的脚本)?


这是我的小.vimrc帮助程序代码,用于快速切换光标的位置:

" 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

2 个答案:

答案 0 :(得分:5)

查看scrollfix plugin。几年前我用过它,所以我不知道它是否仍然适用于Vim的最新快照 - 但最糟糕的是,它应该给你一个很好的开始,修改它为你工作。

答案 1 :(得分:0)

你可以这样做:

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