Vim
在vim中自然滾動到最後一行的末尾
我是一個 vim 新手,但我很難找到資源來幫助我解決這個問題。
當我將游標移動到文件的底部時,我希望它繼續越過最後一行,最好直到最後一行位於我的視窗頂部,但也可以無限期地進行。我目前的解決方案包括放入
set scrolloff=20
my~/.vimrc
然後做G
+zz
到底部。但是如果我向上和向下滾動,我會被最後一行再次貼到底部。我知道因為文件後面沒有換行符,所以它實際上沒有任何東西可以滾動,但是我無法在視窗中間的底線處編輯我的文件,這很煩人。
所以最終我想要它,當我在底線時,我可以按住
j
它,它只會向下滾動。有沒有辦法做到這一點?
我認為這種行為沒有內置選項,但是在配置中使用一些鍵綁定可以將游標所在的行永久保留在中間(文件的前幾行除外):
set scrolloff=99999 nnoremap <C-U> 11kzz nnoremap <C-D> 11jzz nnoremap j jzz nnoremap k kzz nnoremap # #zz nnoremap * *zz nnoremap n nzz nnoremap N Nzz nnoremap gg ggzz nnoremap G Gzz nnoremap gj gjzz nnoremap gk gkzz
這映射
zz
了在目前行之後執行的常見動作並將螢幕居中。請注意,這可能會導致在慢速終端上閃爍(例如通過 ssh),因為螢幕位置實際上會在再次居中之前跳回。