LINUX.ORG.RU

От себя замечу: Есть ли хоть какой-нибудь способ заставить этого емакса переключать буферы по C-TAB? Я пол дня трахался с этим кеймапом - ничерта не сделал...

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

хмм, у меня отрабатывает (emacs-snapshot-gtk), а ты не в терминале это пытаешься сделать? А то в руководстве по Emacs написано, что

However, note that the `C-<tab>' character cannot be typed on most text-only terminals.

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

В терминале уже вообще ничего не пытаюсь делать, так как быдлокодерствую на рельсах и надо где-от проверять морду. Работаю в gnome-terminal. Твой пример ничего не дает ((

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

>(global-set-key (kbd "<tab>") #'(lambda () (interactive) (insert "\t")))

Большое спасибо. А не подскажешь, как сделать, чтобы в c-mode например таб индент делал как раньше. Не силен в елиспе, к сожалению :(

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

(add-hook 'c-mode-hook
          #'(lambda ()
              (interactive)
             (define-key c-mode-map  (kbd "<tab>") 'c-indent-command)

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

Уже поставил.

PS: поставил я mmm-mode чтобы rhtml удобнее лабать. Однако теперь раби-код подсвечивается, а html - шиш.

Настройки такие:

;; Emacs rails
(require 'mmm-mode)
(require 'mmm-auto)
(global-set-key [f8] 'mmm-parse-buffer)
(setq mmm-global-mode 'maybe)
(setq mmm-submode-decoration-level 2)
(set-face-background 'mmm-output-submode-face "LightGrey")
(set-face-background 'mmm-code-submode-face "MediumSlateBlue")
(set-face-background 'mmm-comment-submode-face "DarkOliveGreen")
(mmm-add-classes
'((erb-code
:submode ruby-mode
:match-face (("<%#" . mmm-comment-submode-face)
("<%=" . mmm-output-submode-face)
("<%" . mmm-code-submode-face))
:front "<%[#=]?"
:back "-?%>"
:insert ((?% erb-code nil @ "<%" @ " " _ " " @ "%>" @)
(?# erb-comment nil @ "<%#" @ " " _ " " @ "%>" @)
(?= erb-expression nil @ "<%=" @ " " _ " " @ "%>" @))
)))
(add-hook 'html-mode-hook
(lambda ()
(setq mmm-classes '(erb-code))
(mmm-mode-on)))
(add-to-list 'auto-mode-alist '("\\.rhtml$" . html-mode))

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

У тебя кажеться 21, в нём mmm у меня например глючил, в 22 всё ок.

Вот у мои руби/рельсовые настройки

------------
(require 'ruby-electric)

(GNUEmacs 
 (require 'rubydb "rubydb3x"))


(add-hook 'ruby-mode-hook (lambda ()
			    (define-key ruby-mode-map [(return)] 'newline-and-indent)
			    (ruby-electric-mode)))


(load "/home/cp/arc/emacs/ri-ruby.el")
(add-hook 'ruby-mode-hook (lambda ()
                            (local-set-key 'f1 'ri)
                            (local-set-key "\M-\C-i" 'ri-ruby-complete-symbol)
                            (local-set-key 'f4 'ri-ruby-show-args)
                            ))



;;;;;;;;;;;;;;;;;;;; Rails ;;;;;;;;;;;;;;;;;;;;

(add-to-list 'load-path "/home/cp/proj/emacs-rails/trunk/")
;(add-to-list 'load-path "/home/cp/tmp/er-n")
;(add-to-list 'load-path "/home/cp/proj/emacs-rails/branches/cp-branch/")
;(add-to-list 'load-path "/home/cp/arc/emacs/rails/")


(defun try-complete-abbrev (old)
  (if (expand-abbrev) t nil))

(setq hippie-expand-try-functions-list
      '(try-complete-abbrev
        try-complete-file-name
        try-expand-dabbrev))

(require 'rails)
(setf rails-api-root "/home/cp/doc/programming/ruby/rails/doc/api/")


(defun rails-find-and-goto-error ()
  "Finds error in rails html log ang go to file/line with error "
  (interactive)
  (search-forward-regexp "RAILS_ROOT: \\([^<]*\\)")
  (let ((rails-root (concat (match-string 1) "/")))
    (search-forward "id=\"Application-Trace\"")
    (search-forward "RAILS_ROOT}")
    (search-forward-regexp "\\([^:]*\\):\\([0-9]+\\)")
    (let  ((file (match-string 1))
	   (line (match-string 2)))
      (kill-buffer (current-buffer))
      (message
       (format "Error finded in file \"%s\" on %s line. "  file line))
      (find-file (concat rails-root file))
      (goto-line (string-to-int line)))))


(setf rails-find-file-function 'ido-find-file)

(setf rails-use-text-menu nil)
(GNUEmacs
 (modify-coding-system-alist 'file "\\.rhtml$" 'utf-8)
 (modify-coding-system-alist 'file "\\.rb$" 'utf-8))
(setf rails-tags-command  "ctags-exuberant -e -a --Ruby-kinds=-f -o %s -R %s")
(defadvice browse-url (before switch-to-firefox
			     activate compile)
  "Switch to firefox after openning a URL"
  (shell-command "FvwmCommand \"GoToDesk 0 2\""))


(require 'mmm-mode)
(require 'mmm-auto)
(setq mmm-global-mode 'maybe)
(setq mmm-submode-decoration-level 2)
(set-face-background 'mmm-output-submode-face  "#080012")
(set-face-background 'mmm-code-submode-face    "Black")
;; (set-face-background 'mmm-comment-submode-face "DarkOliveGreen")
(mmm-add-classes
 '((erb-code
    :submode ruby-mode
    :match-face (("<%#" . mmm-comment-submode-face)
                 ("<%=" . mmm-output-submode-face)
                 ("<%"  . mmm-code-submode-face))
    :front "<%[#=]?" 
    :back "%>" 
    :insert ((?% erb-code       nil @ "<%"  @ " " _ " " @ "%>" @)
             (?# erb-comment    nil @ "<%#" @ " " _ " " @ "%>" @)
             (?= erb-expression nil @ "<%=" @ " " _ " " @ "%>" @)))))

(add-hook 'html-mode-hook
          (lambda ()
	    (local-set-key (kbd "<f8>") 'mmm-parse-buffer)
            (setq mmm-classes '(erb-code))
            (mmm-mode)))

 
А Emacs Rails таки попробуй ;)

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

Говорю же что поставил уже! Кстати в какой бубен надо ударить чтобы он мне автокомплит сделал? говорю: rails-create-tags -> воняет что TAGS is not a valid tags table.

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

> Говорю же что поставил уже!

А блин, чукча не читатель:))

> Кстати в какой бубен надо ударить чтобы он мне автокомплит сделал? говорю: rails-create-tags -> воняет что TAGS is not a valid tags table.

Емаксовый Ctags не работает с руби, если у тебя дебиан: apt-get install exuberant-ctags, или смотри http://ctags.sourceforge.net/

Потом возможно ещё нужно будет сконфигить переменную rails-tags-command.

(setf rails-tags-command "ctags-exuberant -e -a --Ruby-kinds=-f -o %s -R %s")

PS: Если будут какие пожелания/предложния относительно функциональности , буду рад помочь пиши на crazypit13 ((AT)) gmail dot com

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

Спасибо попробую. Еще вопрос: какая то хрень у меня с емаксом твориться (21) - скатенпастил часть твоего конфига там где хуки с electric - работает но не подсвечивает синтаксис сцуко. Нижняя щасть там где rhtml у меня идентичная и такая же фигня - подсветка html не канает. Что делать не знаю. Есть идеи?

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

Э это у меня в конфиге самого глюк был, я тока пробовал emacs-ri вот это

(add-hook 'ruby-mode-hook (lambda () (local-set-key 'f1 'ri) (local-set-key "\M-\C-i" 'ri-ruby-complete-symbol) (local-set-key 'f4 'ri-ruby-show-args) ))

либо закоменть либо поменяй 'f1 'f4 на чтонибудь вменяемое

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

А насчёт mmm есть 3 идее, поменять mmm на другой подбный two-modes-mode кажеться, второе - перейти на 22, третье - похачить mmm-mode чтобы он нормально работал с 21:) третий конечно самый лучший, но самый сложный:))

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

А вот уже нашел чтобы и 'end' подставлял автоматом и подсветка была (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (setq auto-mode-alist (cons '("\\.rhtml$" . html-mode) auto-mode-alist)) (add-hook 'ruby-mode-hook (lambda() (add-hook 'local-write-file-hooks '(lambda() (save-excursion (untabify (point-min) (point-max)) (delete-trailing-whitespace) ))) (set (make-local-variable 'indent-tabs-mode) 'nil) (set (make-local-variable 'tab-width) 2) (imenu-add-to-menubar "IMENU") (require 'ruby-electric) (ruby-electric-mode t) ))

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

(autoload 'ruby-mode "ruby-mode" "Ruby editing mode." t)
(setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.rhtml$" . html-mode) auto-mode-alist))
(add-hook 'ruby-mode-hook
(lambda()
(add-hook 'local-write-file-hooks
'(lambda()
(save-excursion
(untabify (point-min) (point-max))
(delete-trailing-whitespace)
)))
(set (make-local-variable 'indent-tabs-mode) 'nil)
(set (make-local-variable 'tab-width) 2)
(imenu-add-to-menubar "IMENU")
(require 'ruby-electric)
(ruby-electric-mode t)
))

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