Найти - Пользователи
Полная версия: Emacs + rope + yasnippet + auto-complete
Начало » Инструментальные средства разработки » Emacs + rope + yasnippet + auto-complete
1 2 3 4 5 6
Zubchick
пулинт стоит - приятная штука. контролив версий подключаются довольно просто вот отличная ссылочка http://alexott.net/ru/writings/emacs-vcs/

ЗЫ Ed, спасибо за конфиги :3
Zubchick
Кстати, я себе сделал еще мини сниппет:

файл utfc в папке со питон-сниппетами
# -*- coding: utf-8 -*-
# name: coding
# --
#!/usr/bin/env python
# -*- coding: utf-8 -*-
_
подчеркивание уберите, тока +) это для местного парсера. Теперь при наборе utfc будем получать утф кодировку +)

UPD

Ed, посмотрел твой конфиг, позаимствовал пару вещей.

(defun my-python-hook ()
(require 'whitespace)
(whitespace-mode t)
(setq tab-width 4
py-indent-offset 4
indent-tabs-mode nil
py-smart-indentation t
whitespace-style '(trailing lines-tail space-after-tab space-before-tab)
whitespace-line-column 80)
надо сначала задавать настройки вайтспейса, а тока потом импортировать его, а то первый файл будет открываться не с теми настройками.

тоесть так:
(defun my-python-hook ()
(setq tab-width 4
py-indent-offset 4
indent-tabs-mode nil
py-smart-indentation t
whitespace-style '(trailing lines-tail space-after-tab space-before-tab)
whitespace-line-column 80)
(require 'whitespace)
(whitespace-mode t)
Ed
Спасибо. А я голову ломаю почему у меня такой цветастый первый файл всегда получается :)
Оффтопик: Может кто настраивал erlang-mode + distel? А то у меня чего-то эта связка не работает.
mem
Сегодня как раз буду заниматься настройкой работы с erlang по манам от Алекса Отта=)))
Настроил пока что pylint c flymake примерно следующим образом:

(autoload 'python-mode "python-mode" "Python editing mode." t)
(add-to-list 'auto-mode-alist '("\\.py$" . python-mode))

(when (load "flymake" t)
(defun flymake-pylint-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 "epylint" (list local-file))
)
)
(add-to-list 'flymake-allowed-file-name-masks '("\\.py\\'" flymake-pylint-init))
)

(defun my-python-hook()
(require 'pycomplete)
(load-library "pylint")
(flymake-mode)

(autoload 'pymacs-load "pymacs" nil t)
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")

(add-to-list 'interpreter-mode-alist '("python" . python-mode))

(setq
py-python-command "/usr/bin/python2.6"
py-indent-offset 4
py-smart-indentation nil
indent-tabs-mode t
tab-width 4
)
)

(add-hook 'python-mode-hook 'flymake-mode)
(add-hook 'python-mode-hook 'my-python-hook)
Всё круто, только почему-то перестала выполнятся C-c C-c выполнение скрипта. В *Messages*:
flymake-get-file-name-mode-and-masks: Invalid file-name
Invalid file-name
Подозреваю что напутал с регулярками в flymake-allowed-file-name-masks, но замена на \\.py$ не помогла.
Zubchick
офффффтоп. А я вот тоже эрланг хочю начать изучать. Странно, это :)
mem
Ed
Оффтопик: Может кто настраивал erlang-mode + distel? А то у меня чего-то эта связка не работ
А с чем конкретно проблемы? Делал всё по манам и вроде с очередной попытки всё завелось.

(add-to-list 'load-path "/usr/lib64/erlang/lib/tools-2.6.4/emacs/")
(require 'erlang-start)

(add-to-list 'auto-mode-alist '("\\.erl?$" . erlang-mode))
(add-to-list 'auto-mode-alist '("\\.hrl?$" . erlang-mode))

(setq erlang-root-dir "/usr/lib64/erlang")
(add-to-list 'exec-path "/usr/lib64/erlang/bin")
(setq erlang-man-root-dir "/usr/lib64/erlang/man")

(defun my-erlang-mode-hook ()
;; when starting an Erlang shell in Emacs, default in the node name
(setq inferior-erlang-machine-options '("-sname" "emacs"))
;; add Erlang functions to an imenu menu
(imenu-add-to-menubar "imenu")
;; customize keys
(local-set-key [return] 'newline-and-indent)
)

;; Some Erlang customizations
(add-hook 'erlang-mode-hook 'my-erlang-mode-hook)

;; Настройка distel
(add-to-list 'load-path "~/.emacs.d/distel-4.03/elisp")
(require 'distel)
(distel-setup)


;; A number of the erlang-extended-mode key bindings are useful in the shell too
(defconst distel-shell-keys
'(("\C-\M-i" erl-complete)
("\M-?" erl-complete)
("\M-." erl-find-source-under-point)
("\M-," erl-find-source-unwind)
("\M-*" erl-find-source-unwind)
)
"Additional keys to bind when in Erlang shell.")

(add-hook 'erlang-shell-mode-hook
(lambda ()
;; add some Distel bindings to the Erlang shell
(dolist (spec distel-shell-keys)
(define-key erlang-shell-mode-map (car spec) (cadr spec)))))


(require 'flymake)

(defun flymake-erlang-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 "~/.emacs.d/my-erlang/eflymake" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks '("\\.erl\\'" flymake-erlang-init))
Правда при ближайшем рассмотрении не всё так радужно. Не до конца разобрался как с Distel работать.
Ed
Я делал по этому: http://bc.tech.coop/blog/070528.html
C-c C-d n нормально отрабатывает, а дальше ничего от distel-а не получить. C-c C-d l и прочие комбинации просто виснут и ничего не делают. Прерываю по C-g.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB