gpt4 book ai didi

clojure - 自动运行多个 vim 命令和击键

转载 作者:行者123 更新时间:2023-12-02 02:04:31 28 4
gpt4 key购买 nike

我想在 vim 中自动运行几个命令,即通过键入 :repl。命令是:

:ConqueTerm lein repl
<Esc>
:set syntax=clojure
<i>

我如何定义执行上述的自定义 vim 函数(命令)?

关于以上内容:

  • clojure - Clojure 编程语言(语法由 vim-clojure-static
  • 提供
  • ConqueTerm - 一个在你的 vim 缓冲区中交互式运行 shell 的 vim 插件
  • lein - Leiningen , Clojure 构建工具

最佳答案

您可以只创建一个函数,然后将您的命令放入该函数中:

fun! LeinCMD()
execute 'ConqueTerm lein repl'
execute 'set syntax=clojure'
execute 'normal! i'
endf
command! Repl call LeinCMD()

您可以获取以上代码,然后键入 :ReplEnter 来测试它是否适合您。

编辑

@Zyx 的评论非常好。我只是把它们放在答案中,以免读者以后错过有值(value)的信息。

  1. 您在这里完全不需要 :execute 调用。
  2. :normal! i 没用,要从有 :startinsert 和 :call feedkeys() 的函数启动插入模式,应该首选前者。//注意::正常!我在这里“有效”是因为:startinsert:ConqueTerm 运行。 IE。由于 Conque 的编写方式,您根本不需要 :startinsert,但如果它还没有 :normal!我会继续做任何有用的事情。

刚才提到:使用 command -bar 会好得多:这样你就不需要 :execute 来用管道符号链接(symbolic link)你的命令(试试 Repl | echo "Here" 使用和不使用 -bar 作为 :command 的第二个参数)。我认为它一直是默认选项,不知道为什么 Bram 喜欢在很多地方使用错误的默认设置。

关于clojure - 自动运行多个 vim 命令和击键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15734470/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com