LINUX.ORG.RU

Emacs + Clojure, есть актуальный гайд на русском как это сделать?

 , ,


1

2

Помогите пожалуйста настроить Emacs под Clojure(ОС Win7),непонятно нужен ли slime, делаю во по этому гайду http://clojure-doc.org/articles/tutorials/emacs.html, там про slime ни слова. Споткнулся на следующем:

Run M-x package-refresh-contents to pull in the package listing.

Появился следующий текст

For information about GNU Emacs and the GNU system, type C-h C-a.
Contacting host: marmalade-repo.org:80
Saving file c:/Users/blablabla/AppData/Roaming/.emacs.d/elpa/archives/marmalade/archive-contents...
Wrote c:/Users/blablabla/AppData/Roaming/.emacs.d/elpa/archives/marmalade/archive-contents
Contacting host: elpa.gnu.org:80
Saving file c:/Users/blablabla/AppData/Roaming/.emacs.d/elpa/archives/gnu/archive-contents...
Wrote c:/Users/blablabla/AppData/Roaming/.emacs.d/elpa/archives/gnu/archive-contents

так установилось или нет?



Последнее исправление: cetjs2 (всего исправлений: 1)

Clojure? На русском? Нуууу А есть хоть что-нибудь про clojure на русском? Просто я боюсь, что все 3,5 человека, которые интересуются clojure в россии, сейчас занимаются чем-то другим, не переводом английских текстов

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

интересует настройка емакса под clojure, а не язык clojure

elf80lvl
() автор топика

Тебе нужен Leiningen + nrepl.el. Запуск через Slime больше не поддерживается вроде.

Как это сделать читать тут: https://github.com/clojure-emacs/nrepl.el

P.S. если не знаешь английского, то учи его, а не clojure.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)
Ответ на: комментарий от elf80lvl

Norgat тебе говорит дело, ставишь Leiningen, ставишь nrepl.el, создаешь с помощью «lein new ...» новый проект, октрываешь любой из его файлов в Эмаксе, выполняешь «M-x nrepl-jack-in». Вуаля.

unlog1c ★★★
()
Ответ на: самый главный вопрос от elf80lvl

Без разницы. Leiningen - консольная утилита, nrepl.el - расширение Емакса.

Эх, друг, если с Емаксом не знаком, то лучше начинать с чего-нибудь попроще, с Counterclockwise например (это плагин для эклипса). http://dev.clojure.org/display/doc/Getting Started with Eclipse and Countercl.... Плюс у него хорошая поддержка Lein'а есть, говорят.

unlog1c ★★★
()
Ответ на: комментарий от Norgat

Тебе нужен Leiningen + nrepl.el.

+ ac-nrepl.el еще. Настройка всего и вся хорошо описана в соответствующих Readme. Если будут вопросы - можно писать в issues соответствующих проектов. Тривиальные вопросы можно сюда ;).

Kostafey
()

Windows и ещё на русском. Зачем так живёшь.

anonymous
()
Ответ на: комментарий от elf80lvl

спасибо, буду разбираться. А Leiningen + nrepl.el.+ ac-nrepl.el неважно в каком порядке устанавливать?

Leiningen - вообще независимо ставиться (его можно хоть самого по себе ставить и работать, например через Counterclockwise или вообще без IDE), это система сборки (типа maven-а).

Остальное - расширения emacs. Их лучше ставить через MELPA (тогда и зависимости автоматом разрешатся).

Kostafey
()
Ответ на: комментарий от elf80lvl

C:\Users\user>echo %HOME%
%HOME%

Да... непорядок. Ну загугли как еще можно в винде хомяк по умолчанию найти.

Kostafey
()
Ответ на: комментарий от Kostafey

ac-nrepl.el еще.

Это не обязательная опция.

Norgat ★★★★★
()
Ответ на: самый главный вопрос от elf80lvl

«C:\Users\user\AppData\Roaming\» или в «C:\Users\user\»?

Открываешь emacs и идёшь в ~/, а дальше восстанавливаешь путь до C:/ поднимаясь вверх по папкам. Местонахождение ~/ очень феерично в Windows и может зависеть от фаз луны (т.к. я встречал разные варианты в интернете).

P.S.

и идёшь в ~/

Например с помощью M-x dired или просто через C-x C-f.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)
Ответ на: комментарий от Kostafey

типа maven-а

Это не типа, а расширение над maven, т.к. использует его репы.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)

c:/Users/blablabla/AppData/Roaming/

Вот твой ~/ кстати.

Norgat ★★★★★
()
Ответ на: комментарий от stevejobs

надо популяризовать ссылочку

Надо популяризировать Clojure :)

alienclaster ★★★
()
Ответ на: комментарий от unlog1c

Я сам начинал с esk

Что в нём полезного? Я, когда начинал, поставил порадовался ido-mode (тогда не знал про него) и обплевался с ужасающего мода, который пытался за меня редактировать скобки в lisp коде. Помучился один вечер и удалил, т.к. никаких плюшек особе не заметил что-то (кроме ido-mode, который я потом руками включать стал).

Norgat ★★★★★
()

Или clojure, или русский - одно из двух. На кой тебе программирование, если ты по-человечески читать даже не умеешь?

anonymous
()
Ответ на: комментарий от stevejobs

да я вообще http://www.ozon.ru/context/detail/id/21296773/ купил, 800 страниц полезной информации на русском, мне только окружение для программирования настроить и все, пробовал IntelliJ IDEA с плагином под сlojure, очень тяжеловесно получилось, емакс как то пошустрее намного, вот и хочу освоить.

elf80lvl
() автор топика
Ответ на: комментарий от unlog1c

Я сам начинал с esk, но это, тьфу-тьфу, хоть не на шиндошсе было. А автор вот страдает.

Ничего страшного. Я вот тоже сначала emacs там ковырял. Когда количество освоенных кроссплатформенных инструментов достигло критической массы - переход на linux не составил труда.

Emacs, работающий под windows - суть большой рекламный плакат проекта GNU.

Kostafey
()
Ответ на: комментарий от elf80lvl

у тебя комп старенький, или просто swing-ненависть? если swing-ненависть, очень рекомендую вылечиться, ибо плюсы идеи неисчислимы. ну да, там нету пары удобных емаксовых шорткатов, зато есть всё остальное, и это остальное явно заруливает любые привычные шорткаты. Хотя, может во время чисто обучения оно не особо нужно...

stevejobs ★★★★☆
()
Ответ на: комментарий от Norgat

Что в нём полезного? Я, когда начинал, поставил порадовался ido-mode (тогда не знал про него) и обплевался с ужасающего мода, который пытался за меня редактировать скобки в lisp коде. Помучился один вечер и удалил, т.к. никаких плюшек особе не заметил что-то (кроме ido-mode, который я потом руками включать стал).

На самом деле там довольно много расширений из коробки, которые так или иначе ставить. А тот режим с неинтуитивными скобочками - paredit-mode.

В конце концов, я тоже за персональный конфиг с нуля. Но для того, чтобы с чего-то начать...

Kostafey
()
Ответ на: комментарий от elf80lvl

да я вообще http://www.ozon.ru/context/detail/id/21296773/ купил, 800 страниц полезной информации на русском, мне только окружение для программирования настроить и все, пробовал IntelliJ IDEA с плагином под сlojure, очень тяжеловесно получилось, емакс как то пошустрее намного, вот и хочу освоить.

Книжка годная. emacs настроить более чем реально. Это на самом деле наиболее популярный инструмент у кложуристов.

Kostafey
()
Ответ на: комментарий от Norgat

Что интересно, у меня с paredit сначала тоже не сложилось. Зато потом когда осилил, то понял почему лисповая скобочность - это значительно удобнее для манипуляции, чем любой другой синтаксис. А тем более в Кложуре с ее тремя видами скобок (паредиту пофиг какой скобкой ты закрываешь какую).

«If you think paredit is not for you then you need to become the kind of person that paredit is for.»

https://www.youtube.com/watch?v=D6h5dFyyUX0

unlog1c ★★★
()
Ответ на: комментарий от unlog1c

Not bad. Надо поковырять его, но уже осмысленно. Имхо, зря его включили в esk, т.к. он сбивает столку своим поведением если не понимаешь что и как.

P.S. а оно для C++ like скобок работает? А то хотелось бы такое прикрутить к Mathematica коду, а он имеет вид:

If[ some_pred, true_case, false_case]

Было бы удобно.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)
Ответ на: комментарий от unlog1c

Что интересно, у меня с paredit сначала тоже не сложилось...

Серьезно того стоит? А какую версию посоветуете? stable, development или from git?

Kostafey
()
Ответ на: комментарий от Norgat

Из языко-агностических аналогов паредита есть smartparens (http://www.youtube.com/watch?v=efSvfqf3Ykw). Говорят оно даже TeX умеет, может и Математику поддерживает (или легко допиливается).

unlog1c ★★★
()
Ответ на: комментарий от Kostafey

Стоит однозначно, я теперь без паредита как без рук. Но нахрапом его осилить сложно, на первое время вот эту штуку удобно держать открытой http://www.emacswiki.org/emacs/PareditCheatsheet. И так потихоньку привыкать.

Версия у меня установлена 22, сомневаюсь что она сильно менялась с того времени, так что думаю без разницы.

unlog1c ★★★
()
Ответ на: комментарий от anonymous

в общем установил голый емакс, на него установил clojure-mode, paredit, nrepl, теперь при запуске емакса приходится каждый раз вызывать

M-x clojure-mode
M-x paredit
M-x nrepl-jack-in
можно ли как то это дело автоматизировать?

anonymous написал:

Посмотри на emacs-live, вполне годно, для начала по-крайней мере

не понял как этот emacs-live на win ставить.

elf80lvl
() автор топика
Ответ на: комментарий от elf80lvl

теперь при запуске емакса приходится каждый раз вызывать...
можно ли как то это дело автоматизировать?

M-x clojure-mode

Вообще-то *.clj файлы должны автоматом открываться в clojure-mode. Но если что можно как-то так:

(add-to-list 'auto-mode-alist '("\\.clj$" . clojure-mode)) ; это лишнее, должно само...
(add-to-list 'auto-mode-alist '("\\.cljs$" . clojure-mode))

M-x paredit

(autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t)
(add-hook 'clojure-mode-hook #'enable-paredit-mode)

M-x nrepl-jack-in

Вообще-то это придется всегда вручную запускать. Правда не так часто. Ниже привожу свои шоткаты (внимание! «C-n» переопределяется):

(global-unset-key (kbd "C-n"))
(defun kostafey-clojure-mode-hook ()
  (define-key clojure-mode-map (kbd "C-n j") 'nrepl-jack-in)
  (define-key clojure-mode-map (kbd "C-n e b") 'nrepl-eval-buffer)
  (define-key clojure-mode-map (kbd "C-n q") 'nrepl-quit))
(add-hook 'clojure-mode-hook 'kostafey-clojure-mode-hook)
Kostafey
()
Ответ на: комментарий от antares0

Именно для clojure не советую. Там используется slime, который для кложуры deprecated. Сейчас для работы с clojure лучше использовать nrepl.

feofan ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.