LINUX.ORG.RU

Emacs + Python

 , ,


0

1

Итак, были поиски IDE для Linux вместо Pyscripter.

В итоге выбор сузился до VIM/Emacs. Emacs мне понравился больше, в основном логичными хоткеями, но не суть.

Я настроил python-mode, и в принципе оно работает, есть только несколько вопросов.

  • calltip - есть ли хотя бы теоретическая возможность отображать подсказку по вызову в момент открытия скобки?
  • меню автодополнения - возможно ли такое? т.е. сейчас я жму <TAB> и у меня происходит дополнение до одного из вариантов, как в bash. А я хочу менюшку, как в zsh, bpython и так далее...
  • pydoc - можно ли все время держать открытым окно с pydoc'ом, которое C-x C-e, и чтобы информация обновлялась согласно символу под курсором автоматически?

Есть еще баг, не могу использовать ipython и bpython как интерпретатор, отписал на ланчпад.

еще я не могу настроить шрифт... делаю вот так:

(set-face-attribute 'default nil :font "Ubuntu Mono 12")

вывод

Warning (initialization): An error occurred while loading `/home/pasha/.emacs':

error: Font not available, #<font-spec nil nil Ubuntu Mono nil nil nil nil nil 12.0 nil nil nil ((:name . Ubuntu Mono 12) (user-spec . Ubuntu Mono 12))>

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the `--debug-init' option to view a complete error backtrace.

Да, это не работает даже с Droid Sans Mono, как написано в emacswiki: http://emacswiki.org/emacs/SetFonts#toc2

.emacs - http://paste.kde.org/492758

//а теперь спать, настраивал всю ночь и полдня...

★★★★

есть ли хотя бы теоретическая возможность отображать подсказку по вызову в момент открытия скобки

Теоретически в Emacs можно сделать абсолютно все.

меню автодополнения - возможно ли такое? т.е. сейчас я жму <TAB> и у меня происходит дополнение до одного из вариантов, как в bash. А я хочу менюшку, как в zsh, bpython и так далее...

Да. M-x ac-complete.

Deleted ()

еще я не могу настроить шрифт... делаю вот так:

Так

(set-default-font "-unknown-DejaVu Sans Mono-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1")
Также M-x set-default-font RET, жмешь таб и радостно выбираешь себе шрифт.

Или так

(setq default-frame-alist '((font . "Monospace-11")))

Советую также emacs-starter-kit

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

Проблема со шрифтом решилась перекомпиляцией с флагом xft. emacs-starter-kit посмотрю.

pashazz ★★★★ ()

У меня так шрифт установлен:

(set-default-font "Consolas-12")
SAA ★★★ ()

меню автодополнения

смотря какой мод, например, такая ветка https://github.com/fgallina/python.el показывает меню

чтобы информация обновлялась согласно символу под курсором автоматически?

eldoc автоматом показывает в минибуфере, полагаю, можно настроить и в отдельном буфер

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

нету решения, рабочего на 100%.

Но всё в твоих руках :)))
Вот в твоей теме рассказали про bpython вот интегрируй его в емакс :))

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

он тоже не работает =/

(require 'python)

и затем я делаю

import os
os.<TAB> - no match

да и вообще он на все говорит no match. Может, что-то надо настроить?

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

да и вообще он на все говорит no match. Может, что-то надо настроить?

rope попробуй

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

зато помощь показывает в минибуфере в 1 строчку :(

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

Знаешь ответ и спрашиваешь.

setxkbmap us,ru winkeys ctrl:nocaps

А на escape зачем? Это ешё хужее раз в сто

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

L_Control на Caps, R_Control на Return и сменить привычку жать хоткеи преимущественно левой рукой на новую - когда надо жать Meta и Ctrl правой.

vyazovoi ★★★ ()

в общем, Имакс хороший редактор, но хреновая IDE.

говорю это с чистой совестью, запустив pydev.

да, хоткеев имаксовских мне будет не хватать...

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

Режимы вима не нужны (пробовал вим, не понравилось). Кроме того вим - это не емакс, можно прикрутить к виму что угодно но в нем нет elisp, следовательно я не могу заставить делать vim всё то, что может делать emacs.

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

Практически любой пакет emacs не крут без километровой кастомизации, благо elisp предоставляет для этого все возможности. Так что если вы не сделали себе из emacs хорошую ide, это не значит что emacs - плохая ide ;-)

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

мои попытки были изложены выше. вряд ли даже с километровой кастомизацией емакс дотянет до кастомизированного же (но только за 10 минут) эклипса (не как редактор, он тут вне конкуренции, а как IDE).

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

IDE разные нужны, IDE разные важны. В Emacs удобней писать код, работать с системами контроля версий. Так ли нужны другие функции - спорный вопрос, очевидно что можно обойтись и без них или реализовать их в Emacs, зато среда удобная. Это вы ещё не успели привыкнуть и раскурить многие возможности Emacs - так бы не отказались.

Вот это читали: http://emacswiki.org/emacs/PythonProgrammingInEmacs ?
Я посмотрел - ну есть же все что нужно.

vyazovoi ★★★ ()

если ты еще не окончательно забил можешь попробовать поставить мой конфиг https://github.com/zubchick/my-emacs-conf (вообще должен из коробки не заработает, надо выкинуть шрифт и cmd-кнопку), там мой текущий конфиг для питона и еще много барахла, его выкинуть можно потом будет.

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

ну на начальных стадиях изучения языка, auto-compete очень важен. потом уже без него обходится.

Есть-то все, вот только комплит там не очень. И да, я постепенно вникаю в Emacs все-таки, но не как в IDE, а как в $EDITOR :)

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

а почему только на начальных? я наоборот раньше автокомплит не любил. сейчас - автокомплит (+автокомплит по контексту), рефакторинг и прочие фишки рулят. быстрее автокомплитом что-то дернуть бывает.

и, да, все на клавишах. плюс минималистичный внешний вид, все скрыл ненужное.

но я не питонщик, так, посоветовать зашел) в свое время пытался на имакс перейти. забил. есть вещи удобнее и комфортнее для работы. для меня.

dpt-ru ()
Ответ на: комментарий от pashazz

Честно говоря не знаю как именно реализован авто-комплит для питона (как правило, для Emacs существует несколько реализаций), но судя по тому, что python поддерживается в semantic - должен быть умный авто-комплит. Но я не пробовал, у меня только скриптики на питоне бывают пока.
А то что Emacs - лучший редактор, это несомненно. Я когда-то начал осваивать vim, но потом узнал про Emacs и его подход во всем мне понравился гораздо больше. Теперь использую Emacs не только как редактор и IDE, больше даже для почты, nntp, irc и бесподобного org-mode.
Вот почитайте пример настраиваемости и адаптируемости org-mode для своих задач, ну разве это не сказка? http://doc.norang.ca/org-mode.html
+ из emacs благодаря slime мне удобно управлять оконным менеджером (dswm, форк stumpwm).

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

нет, да и зачем оно нужно, если package.el теперь из коробки

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