【问题标题】:How to write Lua commands in Neovim with mod keys (Ctrl, Alt, Shift etc)如何在 Neovim 中使用 mod 键(Ctrl、Alt、Shift 等)编写 Lua 命令
【发布时间】:2021-10-12 11:12:06
【问题描述】:

如果我想在 Neovim 中使用 Lua 向下移动光标,我可以使用命令

:lua vim.cmd('normal j')

Vim/Neovim 中的“Ctrl-E”组合将窗口向下滚动一行。如何在 Lua 中使用它? 例如这种方法不起作用:

:lua vim.cmd('normal <C-e>')

如何在 Neovim 中为 Lua 命令提供修饰键序列(Alt-、Ctrl-、Shift-)?

【问题讨论】:

    标签: lua neovim


    【解决方案1】:

    您必须使用vim.api.nvim_replace_termcodes() 转义密钥代码。请参阅the section on that function in nanotee's Nvim Lua GuideNeovim 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() 的范围内使用。

    【讨论】:

      猜你喜欢
      • 2021-08-09
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      • 1970-01-01
      • 1970-01-01
      • 2023-01-01
      相关资源
      最近更新 更多