Vim 非执行版本:execute

Vim 非执行版本:execute,vim,Vim,是否有像:execute这样的命令或函数允许您将文本发送到Vim cmdline,但实际上并不执行它?我想将光标保留在cmdline的末尾。我查了半个小时的帮助文档,什么都找不到 这取决于它是如何被触发的。如果是通过映射,您只需使用:help:map expr: fun! MyText() return (localtime() % 2 ? ':echo ' : ':echomsg ') endfun :nnoremap <expr> <Leader>e MyTe

是否有像:execute这样的命令或函数允许您将文本发送到Vim cmdline,但实际上并不执行它?我想将光标保留在cmdline的末尾。我查了半个小时的帮助文档,什么都找不到

这取决于它是如何被触发的。如果是通过映射,您只需使用
:help:map expr

fun! MyText()
    return (localtime() % 2 ? ':echo ' : ':echomsg ')
endfun
:nnoremap <expr> <Leader>e MyText()

您不能只使用
:normal
,因为这假定命令已满,如果命令不完整,则会中止。

非常有效,谢谢!我最后添加的映射用于全局搜索:
nnoremap t':vim。展开(“”。“*”。展开('%:e')。***。展开('%:e')
:command! MyText call feedkeys(MyText(), 'n')