我可以在 Vim/NeoVim 中自动将滚动偏移设置为终端高度的一半吗?

问题描述 投票:0回答:1

问题

我想自动将滚动偏移设置为

vim.opt.lines
值的一半(参见
:help lines
)。

我试过了

我尝试了以下方法:

vim.opt.scrolloff = vim.opt.lines // 2

我预料到了

我希望这会检索

vim.opt.lines
的当前值,将其除以 2,并将结果分配给
vim.opt.scrolloff

结果

这就是发生的事情(重新打开 NeoVim 后):

Error detected while processing C:\Users\<user>\AppData\Local\nvim\init.lua:
E5112: Error while creating lua chunk: C:\<user>\AppData\Local\nvim\init.lua:24: unexpected symbol near '/'
Press ENTER or type command to continue

我的问题

  1. 这是语法错误吗?
  2. 有什么方法可以访问
    vim.opt.lines
    或等效值吗?
  3. 我无法访问 vim 选项值吗?这是普遍正确的,还是仅在这种情况下正确,因为在处理
    init.lua
    时仍在定义 vim 选项?

注意

我之前刚用过

vim.opt.scrolloff = 26

效果很好,但我正在尝试并想知道是否可以动态设置它,如果我想将滚动偏移设置为屏幕的四分之一或其他东西,这将很有用。

terminal lua neovim scroll-offset
1个回答
0
投票

经过进一步调查,我找到了解决方案。

  1. 是的。 NeoVim 使用 Lua 5.1,而
    //
    运算符仅在 Lua 5.3 中引入。因此,这是一个语法错误。
  2. 是的。使用
    vim.opts.lines:get()
  3. 您可以使用以下语法访问选项值:
    vim.opts.<option>:get()
    。请参阅
    :help vim.opt:get()
    了解更多信息。
© www.soinside.com 2019 - 2024. All rights reserved.