如果我想在 Neovim 中使用 Lua 向下移动光标,我可以使用以下命令
:lua vim.cmd('normal j')
Run Code Online (Sandbox Code Playgroud)
Vim/Neovim 中的“Ctrl-E”组合可将窗口向下滚动一行。我如何在 Lua 中使用它?例如,这种方法不起作用:
:lua vim.cmd('normal <C-e>')
Run Code Online (Sandbox Code Playgroud)
如何在 Neovim 中为 Lua 命令提供修饰键序列(Alt-、Ctrl-、Shift-)?
您必须使用转义键码vim.api.nvim_replace_termcodes()。请参阅nanotee 的 Nvim Lua 指南和Neovim API 文档中有关该函数的部分。
:lua vim.cmd(vim.api.nvim_replace_termcodes('normal <C-e>'))
Run Code Online (Sandbox Code Playgroud)
在我的配置中,我采纳了nanotee的建议并定义了一个辅助函数,以避免拼写出超长的函数名称。
local function t(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
Run Code Online (Sandbox Code Playgroud)
这将你的例子缩短为
vim.cmd(t('normal <C-e>'))
Run Code Online (Sandbox Code Playgroud)
如果在定义的范围内使用t()。