Должны быть расширения Emacs?

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
3 435
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

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

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

Некоторое время я тоже использовал цветовую тему, но обнаружил странные задержки в cperl-режиме. Отключение цветовой темы избавило от нее (возможно, это было какое-то сложное взаимодействие с третьей стороной; кто знает!).

Michael Paulukonis 06.01.2009 17:23

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

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

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

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

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

некоторые фрагменты из моего слишком большого файла .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

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

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

окно развернуто как насчет (toggle-frame-maximized), а то и (toggle-frame-fullscreen)
Jim Balter 02.11.2018 06:38

Другие вопросы по теме