Должны ли быть расширения Emacs? - PullRequest
5 голосов
/ 06 января 2009

Я пытаюсь http://emacspeak.sourceforge.net теперь, когда он работает на Windows. Я хотел бы использовать emacs в качестве обычного текстового редактора, и мне было интересно, с какими расширениями / пакетами не могут жить все? Наиболее распространенными языками являются Perl, Java и некоторые C / C ++.

Ответы [ 4 ]

7 голосов
/ 06 января 2009

В начальном наборе EMACS есть довольно потрясающая начальная настройка. Если вам нравится работать с простым текстом, посмотрите на Org-Mode . И непременно изучите EMACS Wiki .

2 голосов
/ 06 января 2009

Мне нравится, когда мой редактор работает так, как я хочу. Следовательно, я написал кучу пакетов для настройки в пределах одного дюйма от их жизни. Я перечислю несколько в нижней части поста. Стандартные пакеты, без которых мне было бы трудно жить, включали бы:

  • гну
  • tnt - клиент AOL IM (который я помогаю поддерживать)
  • бормотание
  • GIT-Emacs
  • верблюд случай
  • swbuff (и мое расширение swbuff-advice)
  • Dired

А вот некоторые из тех, что я написал, без которых я никогда не смогу жить (вот почему я их написал):

  • whole-line-or-region - вырезать и вставить всю строку, когда регион не определен
  • cua-lite - облегченный пакет CUA
  • dired-single - ограничение dired одним буфером многократного использования
  • hobo - замена бродяги, не совсем готовая к прайм-тайм

Кроме того, как упоминает Чарли, просто просматривайте EmacsWiki всякий раз, когда вам скучно. Вы всегда найдете что-то новое, чтобы попробовать. И я прочитал gnu.emacs.sources, чтобы увидеть последние и лучшие предложения людей.

2 голосов
/ 06 января 2009

Мне нравится цветовая тема и, конечно, режимы для языков, которые я использую.

1 голос
/ 06 января 2009

несколько бит из моего слишком большого файла .emacs:

(setq inhibit-startup-message t)

;; window maximized
(when (fboundp 'w32-send-sys-command)
 (w32-send-sys-command #xf030))

;; http://www.emacswiki.org/cgi-bin/wiki/DiredPlus
(load "dired+")
(load "w32-browser") ;; open file on current line (etc.)

;; dired stuff to open files a la Windows from Howard Melman
(defun dired-execute-file (&optional arg)
  (interactive "P")
  (mapcar #'(lambda (file)
      (w32-shell-execute "open" (convert-standard-filename file)))
          (dired-get-marked-files nil arg)))

(defun dired-mouse-execute-file (event)
  "In dired, execute the file or goto directory name you click on."
  (interactive "e")
  (set-buffer (window-buffer (posn-window (event-end event))))
  (goto-char (posn-point (event-end event)))
  (if (file-directory-p (dired-get-filename))
      (dired-find-file)
    (dired-execute-file)))
(global-set-key [?\C-x mouse-2] 'dired-mouse-execute-file)


;; push current-line onto kill-ring
;; http://www.dotemacs.de/dotfiles/SteveMolitor.emacs.html
(defun push-line ()
  "Select current line, push onto kill ring."
  (interactive)
  (save-excursion
    (copy-region-as-kill (re-search-backward "^") (re-search-forward "$"))))
(global-set-key "\C-cp" 'push-line)


;; default groups for ibuffer
;; http://www.shellarchive.co.uk/content/emacs_tips.html#sec17
(setq ibuffer-saved-filter-groups
      (quote (("default"
               ("dired" (mode . dired-mode))
               ("perl" (mode . cperl-mode))
               ("java" (mode . java-mode))
               ("planner" (or
                           (name . "^\\*Calendar\\*$")
                           (name . "diary")))
               ("emacs" (or
             (mode . help-mode)
             (mode . occur-mode)
             (mode . Info-mode)
             (mode . bookmark-bmenu-mode)
             (name . "^\\*Apropos\\*$")
             (name . "^.emacs$")
             (name . "el$")
                         (name . "^\\*scratch\\*$")
                         (name . "^\\*Messages\\*$")
             (name . "^\\*Completions\\*$")))
           ("vb" (or
              (mode . visual-basic-mode)
              (mode . vb-project)))
           ("BugTracker" (name . ".*btnet.*"))
               ("gnus" (or
                        (mode . message-mode)
                        (mode . bbdb-mode)
                        (mode . mail-mode)
                        (mode . gnus-group-mode)
                        (mode . gnus-summary-mode)
                        (mode . gnus-article-mode)
                        (name . "^\\.bbdb$")
                        (name . "^\\.newsrc-dribble")))))))

;; ibuffer, I like my buffers to be grouped
(add-hook 'ibuffer-mode-hook
          (lambda ()
            (ibuffer-switch-to-saved-filter-groups
             "default")))


;; http://www.emacswiki.org/cgi-bin/wiki/CPerlMode
;; http://www.khngai.com/emacs/perl.php
;; Use cperl-mode instead of the default perl-mode
(add-to-list 'auto-mode-alist '("\\.\\([pP][Llm]\\|al\\)\\'" . cperl-mode))
(add-to-list 'interpreter-mode-alist '("perl" . cperl-mode))
(add-to-list 'interpreter-mode-alist '("perl5" . cperl-mode))
(add-to-list 'interpreter-mode-alist '("miniperl" . cperl-mode))

;; daily-tip (or whenever Emacs is launched)
;; http://emacs.wordpress.com/2007/06/21/tip-of-the-day/
(defun totd ()
  (interactive)
  (random t) ;; seed with time-of-day
  (with-output-to-temp-buffer "*Tip of the day*"
    (let* ((commands (loop for s being the symbols
                           when (commandp s) collect s))
           (command (nth (random (length commands)) commands)))
      (princ
       (concat "Your tip for the day is:\n"
               "========================\n\n"
               (describe-function command)
               "\n\nInvoke with:\n\n"
               (with-temp-buffer
                 (where-is command t)
                 (buffer-string)))))))

;; swap slashes and backslashes in current line -- useful for converting paths to be Windows-readable
;;http://www.xsteve.at/prg/emacs/.emacs.txt
(defun xsteve-exchange-slash-and-backslash ()
  "Exchanges / with \ and in the current line or in the region when a region-mark is active."
  (interactive)
  (save-match-data
    (save-excursion
      (let ((replace-count 0)
            (eol-pos (if mark-active (region-end) (progn (end-of-line) (point))))
            (bol-pos (if mark-active (region-beginning) (progn (beginning-of-line) (point)))))
        (goto-char bol-pos)
        (while (re-search-forward "/\\|\\\\" eol-pos t)
          (setq replace-count (+ replace-count 1))
          (cond ((string-equal (match-string 0) "/") (replace-match "\\\\" nil nil))
                ((string-equal (match-string 0) "\\") (replace-match "/" nil nil)))
          (message (format "%d changes made." replace-count)))))))

(global-set-key (kbd "M-\\") 'xsteve-exchange-slash-and-backslash)

Выезд: dotfiles.org / .emacs

EmacsWiki: Категория DotEmacs

ТАК: Что в ВАШЕМ .emacs?

некоторые другие пакеты, на которые нет ссылок выше: Elscreen - W3m (emacs-дружественный текстовый браузер)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...