LINUX.ORG.RU

[emacs] Подскажите нубу

 


0

1

Пишу на python (в основном, с django). Использую Eclipse. Одно время пытался перейти на vim, даже все неплохо настроил, но не нашел метода настроить хорошее автодополнение для питона.
Хочу перейти на emacs, потому что неповоротливость и перегруженность эклипса достали.
Прослушал курс лекций SICP, скобочки не пугают
Прошел tutorial емаксовский
Попробовал emacs понастраивать под себя, как то дофига настраивать, снес.
Вот собственно вопросы:
1. Я читал статью http://xahlee.org/emacs/modernization.html, видел скринкасты с aquamacs, существует ли стартовые конфиги аля aquamacs но под линукс? Чтобы стандартные сочетания клавиш (вставить/вырезать, и т.д) были как везде и т.д. (да, я знаю про cua-mode и pc-selection-mode, просто чтобы все это не настраивать а начинать не с нуля)
2. Есть ли попытки или сниппеты по эргономизации сочетаний клавиш (да, я знаю что можно капс с контролом поменять, но это не поможет)
3. Как правильней доп. пакеты ставить - из стандартных реп дистрибутива или в ~/.emacs.d/vendor?
4. Вообще существует ли starter-kit конфиг для перебежчиков с IDE типа клипсы/вижуал студий?

Очень хочу приобщиться к емакс культуре, только первый шаг пугает. Хочется плавно перейти, не затармаживая работу над проектом

1. Я читал статью http://xahlee.org/emacs/modernization.html, видел скринкасты с aquamacs, существует ли стартовые конфиги аля aquamacs но под линукс? Чтобы стандартные сочетания клавиш (вставить/вырезать, и т.д) были как везде и т.д. (да, я знаю про cua-mode и pc-selection-mode, просто чтобы все это не настраивать а начинать не с нуля)

ergoemacs смотрел?

но вообще - «стандарты» понятие относительное, в том же readline/etc дефолтные сочетания клавиш как раз а-ля емакс(ну, немнооого подстроенный под себя), блокнотные - не нужны

2. Есть ли попытки или сниппеты по эргономизации сочетаний клавиш (да, я знаю что можно капс с контролом поменять, но это не поможет)

ergoemacs смотрел?

3. Как правильней доп. пакеты ставить - из стандартных реп дистрибутива или в ~/.emacs.d/vendor?

была какая-то управлялка пакетами, но там оочень маленький репозиторий

я по возможности ставлю из дебиановских репов, а если нет - то имеем вот что: (в *-enabled нужные симлинки из *-available, conf - конфиги, lib - расширения)

(setq base-directory "~/.emacs.d"
      conf-available (concat base-directory "/conf-available")
      conf-enabled (concat base-directory "/conf-enabled")
      lib-available (concat base-directory "/lib-available")
      lib-enabled (concat base-directory "/lib-enabled"))
;TODO: enable-library, enable-lib function or macro

(defun load-directory-files (dir &optional regex)
  (let*
      ((regex (or regex ".+"))
       (files (and
               (file-accessible-directory-p dir)
               (directory-files dir 'full regex))))

    (mapc (lambda (file)
            (when (load file nil t)
              (message "`%s' loaded." file))) files)))

(add-to-list 'load-path lib-enabled)
(load-directory-files conf-enabled "^.+el$")

4. Вообще существует ли starter-kit конфиг для перебежчиков с IDE типа клипсы/вижуал студий?

не видел

lazyklimm ★★★★★
()

>Хочется плавно перейти, не затармаживая работу над проектом.

совсем плавно не выйдет, думаю

4. Вообще существует ли starter-kit конфиг для перебежчиков с IDE типа клипсы/вижуал студий?

но вообще можешь на это посмотреть

http://github.com/technomancy/emacs-starter-kit

lazyklimm ★★★★★
()

ставь emacs-starter-kit

читай http://www.emacswiki.org/emacs/PythonProgrammingInEmacs

мой конфиг, гугли че не понятно

;; whitespace
(setq py-ident-offset 4
      py-smart-indentation t
      whitespace-style '(trailing lines-tail space-after-tab space-before-tab)
      whitespace-line-column 80)

(require 'whitespace)

;; python
(defun my-python-hook ()
  (whitespace-mode t)

  ;; номера строк
  (require 'linum)
  (linum-mode t)

  ;; snippets
  (require 'yasnippet-bundle)
  (yas/initialize)
  (setq yas/root-directory '("~/.emacs.d/zubchick/snippets"))
  (mapc 'yas/load-directory yas/root-directory)

;  (flymake-mode)
  (setq pycodechecker "pylint_etc_wrapper.py")
  (when (load "flymake" t)
    (load-library "flymake-cursor")
    (defun dss/flymake-pycodecheck-init ()
      (let* ((temp-file (flymake-init-create-temp-buffer-copy
                         'flymake-create-temp-inplace))
             (local-file (file-relative-name
                          temp-file
                          (file-name-directory buffer-file-name))))
        (list pycodechecker (list local-file))))
    (add-to-list 'flymake-allowed-file-name-masks
                 '("\\.py\\'" dss/flymake-pycodecheck-init)))


  (require 'pymacs)
  (pymacs-load "ropemacs" "rope-")
  (setq ropemacs-enable-autoimport t)
  (ropemacs-mode t)

  ;; ipython
  (require 'ipython)
  (setq py-python-command-args '( "-colors" "Linux"))

  ;;idle-highlight
  (idle-highlight))

(add-hook 'python-mode-hook 'my-python-hook)
(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))

еще надо будет освоиться с ecb и нужной системой контроля версий. Я использую mercurial, если ты тоже ставь ahg - очень удобный инструмент :)

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

о, клево, прямо все что мне нужно в одном флаконе!
а какое автодополнение лучшее (ну, умное, чтобы интроспектировало классы и функции вместе с аргументами дополняло, есть такое)?
а есть lookup по объекту/классу и т.д. под курсором?
как flymake работает, никак не пойму? вроде pylint_etc_wrapper.py скачал и показал ему на него, оно все равно не работает (

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

и не понятно, поставил пакеты (из репы дистрибутива) python-rope и python-ropemacs, все равно rope- комманды в емаксе не работают. чего не хватает?

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

еще вопрос: я на множестве скриншотов видел, что меню режимов находятся в главном меню (сверху), а у меня отдельно - снизу. (http://blog.nozav.org/public/images/tangotango_elisp.png). Как сделать как на картинке (emacswiki читал, не нашел)

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

Если ты что-то поставил, это не значит, что оно будет загружаться само при старте. Читай ридми к пакету, ищи, что надо пнуть, чтобы оно полетело.

dmsh
()

> 1. Чтобы стандартные сочетания клавиш (вставить/вырезать, и т.д) были как везде и т.д.

Они не стандартные, и не «как везде». И не лучше емаксовых. Так что не нужно.

2. Есть ли попытки или сниппеты по эргономизации сочетаний клавиш (да, я знаю что можно капс с контролом поменять, но это не поможет)

Есть. Капс с контролом поменять. Это поможет.

3. Как правильней доп. пакеты ставить - из стандартных реп дистрибутива или в ~/.emacs.d/vendor?

Из стандартных реп дистрибутива.

4. Вообще существует ли starter-kit конфиг для перебежчиков с IDE типа клипсы/вижуал студий?

Зачем тебе бесполезная куча неизвестно какого хлама? У каждого свои задачи. Подключай то, что тебе надо.

Очень хочу приобщиться к емакс культуре, только первый шаг пугает. Хочется плавно перейти, не затармаживая работу над проектом

Тут учиться надо. Метод тыка не пройдет.

anonymous
()

>Пишу на python

Питон говно

Использую Eclipse

Эклипс говно

Одно время пытался перейти на vim

вим говно

не нашел метода настроить хорошее автодополнение для питона

автодополнение - для девочек

Попробовал emacs понастраивать под себя, как то дофига настраивать, снес.

Вай-вай, как же я до сих пор третий год с конфигом на 150 строчек живу?

Очень хочу приобщиться к емакс культуре, только первый шаг пугает. Хочется плавно перейти, не затармаживая работу над проектом

Пройди ещё раз туториал и просто начни им пользоваться. Стиснув зубы, без всяких соплей типа вышеперечисленных. Будь мужиком, как я!

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