【问题标题】:Navigating top-level Lisp/Clojure forms in Vim在 Vim 中导航顶级 Lisp/Clojure 表单
【发布时间】:2011-09-03 14:50:57
【问题描述】:

我使用 Vim 进行 Clojure 开发。我想要一个移动键或映射,它将跳过缓冲区中的顶级表单。 {} 很接近,但如果表格中间有空行,则停止。 slimv-paredit 的 () 在顶级表单中移动。这是一个例子:

(def foo :bar)
(defn plus [x y]
  (+ x y))

(def yum :cat)

假设光标从顶部开始,我想跳转到 fooplusyum 的开头括号。

【问题讨论】:

    标签: vim clojure lisp slimv


    【解决方案1】:

    我添加了映射 [[]] 用于移动到 Slimv 的 paredit.vim 中的上一个/下一个 defun。请从Slimv repository获取。

    【讨论】:

    • 不错。两个问题:在this file(defn native! ... 行)的第 41 行,“返回”似乎不起作用。它也停在 cmets 的括号上。请参阅同一文件顶部的版权声明。否则,这就是我想要的。谢谢!
    • 感谢您的错误报告,我已修复它。如果您仍然遇到问题,请告诉我。
    【解决方案2】:

    你可以编写一个快速的 vim 宏来做你想做的事。把它放在你的 .vimrc 中:

    map \n /^(<CR>

    当您按下 \n 时,您将跳到以一行开头的下一个表单。

    【讨论】:

    • 你错过了(吗?对我来说,这只是到每一行的开头。
    • 呃,是的,我做到了。谢谢,修好了。我不知道这是怎么回事!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多