Является ли vim уже достаточно хорошим для программирования clojure?
Я использовал vim довольно долго, и я до сих пор доволен этим.
Я начал учиться clojure 6 месяцев назад. Кажется, что emacs является первым выбором для программирования на языке лиспи.
Но я предпочел бы научиться чему-то другому, кроме как потратить много времени на изучение того, как использовать редактор, который явно не превосходит vim.
Итак, я изо всех сил старался сделать мою установку vim более подходящей для программирования clojure.
Теперь я использую:
- vim- clojure -статический, который обеспечивает базовую подсветку синтаксиса
- paredit, который обеспечивает структурное редактирование s-выражения
- vim-fireplace, который может разговаривать с удаленным репликом в vim
Я также использую vim-redl, redl, чтобы получить отладочную замену, но IMO, три выше, уже могут обеспечить довольно приятное кодирование.
Мой вопрос: я все еще не вижу некоторых функций убийцы рабочего потока emacs?
Ответы
Ответ 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, но он кажется достаточно близким.