Навигация по верхним уровням форм Lisp / Clojure в Vim - PullRequest
2 голосов
/ 03 сентября 2011

Я использую Vim для разработки Clojure. Мне бы хотелось, чтобы клавиша перемещения или отображение отображали формы верхнего уровня в буфере. { и } близки, но остановитесь, если в середине формы есть пустая строка. ( и ) slimv-paredit перемещаются в формах верхнего уровня. Вот пример:

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

(def yum :cat)

Предполагая, что курсор начинается сверху, я бы хотел перейти к открывающей части foo, plus, а затем yum.

Ответы [ 2 ]

4 голосов
/ 05 сентября 2011

Я добавил сопоставления [[ и ]] для перехода к предыдущему / следующему определению в paredit.vim Slimv. Пожалуйста, получите его из Slimv репозитория .

2 голосов
/ 04 сентября 2011

Вы можете написать быстрый макрос vim, чтобы делать то, что вы хотите. Поместите это в ваш .vimrc:

map \n /^(<CR>

Когда вы нажимаете \ n, вы переходите к следующей форме, которая начинается в строке.

...