如何在Neovim输入模式Lua按键映射中整合用户输入?
Neovim Lua 等价实现方案
直接给出对应Lua写法,和原Vimscript功能完全一致:
vim.keymap.set("i", ";_", function() local user_input = vim.fn.input("sub: ") return "_{" .. user_input .. "}" end, { buffer = true, unique = true })
对应原Vimscript的细节说明:
"i"对应原脚本的imap,指定映射作用于输入模式";_"触发快捷键和原脚本完全一致vim.fn.input("sub: ")等价于Vimscript里的input("sub:"),在命令行底部弹出输入提示获取用户内容- 回调函数返回的字符串会自动插入到光标位置,替代原Vimscript中
<c-r>=...<cr>的表达式插入逻辑 { buffer = true, unique = true }对应原脚本的<buffer>(仅当前缓冲区生效)和<unique>(确保该映射唯一,避免重复定义)选项
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

