如果我想在Neovim中使用Lua向下移动光标,我可以使用命令
:lua vim.cmd('normal j')
在Vim/Neovim中'Ctrl-E'组合将窗口向下滚动一行。我如何在Lua中使用它?例如,这种方法不起作用:
:lua vim.cmd('normal <C-e>')
如何为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>'))
在我的配置中,我按照nanotee的建议定义了一个helper函数,以避免拼写出那个长得离谱的函数名。
local function t(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
把你的例子缩短为
vim.cmd(t('normal <C-e>'))
如果在定义了t()
的作用域中使用。