如何使用 mod 键(Ctrl、Alt、Shift 等)在 Neovim 中编写 Lua 命令
How to write Lua commands in Neovim with mod keys (Ctrl, Alt, Shift etc)
如果我想在 Neovim 中使用 Lua 向下移动光标,我可以使用命令
:lua vim.cmd('normal j')
'Ctrl-E' Vim/Neovim 中的组合向下滚动 window 一行。我如何将它与 Lua 一起使用?
例如,这种方法不起作用:
:lua vim.cmd('normal <C-e>')
如何在 Neovim 中为 Lua 命令提供修饰键序列(Alt-、Ctrl-、Shift-)?
您必须使用 vim.api.nvim_replace_termcodes()
转义键码。参见 the section on that function in nanotee's Nvim Lua Guide and in the Neovim API docs。
:lua vim.cmd(vim.api.nvim_replace_termcodes('normal <C-e>'))
在我的配置中,我采纳了 nanotee 的建议并定义了一个辅助函数以避免拼出那个长得离谱的函数名称。
local function t(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
将您的示例缩短为
vim.cmd(t('normal <C-e>'))
如果在定义了 t()
的范围内使用。
如果我想在 Neovim 中使用 Lua 向下移动光标,我可以使用命令
:lua vim.cmd('normal j')
'Ctrl-E' Vim/Neovim 中的组合向下滚动 window 一行。我如何将它与 Lua 一起使用? 例如,这种方法不起作用:
:lua vim.cmd('normal <C-e>')
如何在 Neovim 中为 Lua 命令提供修饰键序列(Alt-、Ctrl-、Shift-)?
您必须使用 vim.api.nvim_replace_termcodes()
转义键码。参见 the section on that function in nanotee's Nvim Lua Guide and in the Neovim API docs。
:lua vim.cmd(vim.api.nvim_replace_termcodes('normal <C-e>'))
在我的配置中,我采纳了 nanotee 的建议并定义了一个辅助函数以避免拼出那个长得离谱的函数名称。
local function t(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
将您的示例缩短为
vim.cmd(t('normal <C-e>'))
如果在定义了 t()
的范围内使用。