VIM:预览高度

3 投票
1 回答
785 浏览
提问于 2025-04-16 00:48

我刚开始学习使用vim,所以我在尝试编辑一个已有的vimrc文件的脚本。这个脚本会把当前窗口的内容复制到一个新窗口里,然后运行Python。这个脚本是可以工作的,但预览窗口的高度总是占当前窗口的50%。

这是脚本:

" Preview window for python
fu! DoRunPyBuffer2()
pclose! " force preview window closed
setlocal ft=python

" copy the buffer into a new window, then run that buffer through python
sil %y a | below new | sil put a | sil %!python -
" indicate the output window as the current previewwindow
setlocal previewwindow ro nomodifiable nomodified

" back into the original window
winc p
endfu

command! RunPyBuffer call DoRunPyBuffer2()
map <f5> :RunPyBuffer<CR>

我试过设置行数、设置预览高度、设置pvh、winc 10 -等等,但似乎都没有效果。有没有人知道我该怎么改变预览窗口的高度呢?

1 个回答

4

你可以尝试在将窗口设置为'previewwindow'之前,先改变窗口的高度:

" copy the buffer into a new window, then run that buffer through python
sil %y a | below new | sil put a | sil %!python -
" indicate the output window as the current previewwindow
setlocal winheight 20
setlocal previewwindow ro nomodifiable nomodified

更新:

我觉得问题在于,当你更改设置时,窗口的高度已经被设置好了。设置'windowheight'并不会改变窗口的高度,它只是设定了窗口允许的最小高度。

一个更好的解决办法是在创建窗口时就指定它的高度,使用:new

:below 10 new  "create a window of height 10

撰写回答