Подтвердить что ты не робот

Является ли vim уже достаточно хорошим для программирования clojure?

Я использовал vim довольно долго, и я до сих пор доволен этим. Я начал учиться clojure 6 месяцев назад. Кажется, что emacs является первым выбором для программирования на языке лиспи. Но я предпочел бы научиться чему-то другому, кроме как потратить много времени на изучение того, как использовать редактор, который явно не превосходит vim.

Итак, я изо всех сил старался сделать мою установку vim более подходящей для программирования clojure.

Теперь я использую:

  • vim- clojure -статический, который обеспечивает базовую подсветку синтаксиса
  • paredit, который обеспечивает структурное редактирование s-выражения
  • vim-fireplace, который может разговаривать с удаленным репликом в vim

Я также использую vim-redl, redl, чтобы получить отладочную замену, но IMO, три выше, уже могут обеспечить довольно приятное кодирование.

Мой вопрос: я все еще не вижу некоторых функций убийцы рабочего потока emacs?

4b9b3361

Ответ 1

Является ли emacs лучше для разработки clojure/lisp? Да. Можете ли вы обойтись без этого, конечно. Я использовал vim для разработки Clojure, но пару месяцев назад я перешел на emacs, и я очень рад, что это сделал. Лично я считаю, что это намного лучший опыт. Плагины vim, вероятно, немного выросли, но vim имеет некоторые серьезные ограничения в отношении внешних процессов и так далее. У меня были некоторые общие плагины vim, которые я действительно любил, но, к счастью, у всех были альтернативы emacs.

Несколько вещей, о которых стоит упомянуть:

  • Я использую режим зла. Подобно тому, как Том упомянул об уровне эмуляции vim. Это очень хорошо. Я ничего не пропустил от vim. Поддерживаются текстовые объекты, все режимы vim и т.д. Лично я не могу вспомнить все странные комбинации клавиш emacs, они сводят меня с ума. Без зла я бы не использовал emacs. Я создал злые привязки для paredit и некоторых других плагинов, и у вас в основном есть vim на стероидах. Я использую только vim для быстрого редактирования.

  • Настройка Emacs была сложной. Теперь я люблю Emacs, но я не знаю, что делать без моей настроенной конфигурации Emacs. Как только вы настроите все по своему вкусу, очень трудно вернуться к чему-либо еще. Мне потребовалось много времени, чтобы добраться до этого момента. Проверьте https://github.com/otijhuis/emacs для моей личной конфигурации emacs, если вы хотите попробовать. Мне все еще нужна небольшая работа, и я не гуру Emacs, но она отлично работает для разработки Clojure. Это может быть хорошей отправной точкой.

Ответ 2

Я хотел бы указать на предстоящий vim-sexp, сопровождающий vim- clojure -статический:

vim-sexp

Прецизионное редактирование для символических выражений

Этот плагин предоставляет сопоставления, операторы и текстовые объекты для Lisps, включая Clojure.

Я не использую Clojure сам, поэтому я не могу точно сказать, но плагин выглядит очень многообещающим и находится в активной разработке.

Ответ 3

Причина, по которой Lispers, как правило, нравится Emacs, заключается в том, что Emacs - это машина lisp. Если вы уже знакомы с языковой семьей и ее тенденциями, очень удобно использовать ее для расширения вашего редактора.

Из моего собственного (по общему мнению, обычного Lisp, а не Clojure) рабочего процесса мне нравится autocomplete, подсказки аргументов, и макроэкскандер SLIME. Я уверен, что вы можете получить каждый из них для vim, поэтому не слишком сильно подчеркивайте, что используют все остальные.

В качестве примечания, если вы еще этого не сделали, просмотрите slimv и в этой статье о настройке с помощью Clojure. Я не использовал его сам, не являясь пользователем vim, но он кажется достаточно близким.