如何在Neovim中使用mod键(Ctrl, Alt, Shift等)编写Lua命令



如果我想在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()的作用域中使用。

最新更新