QV или БЕЗ НАЗВАНИЯ
Каталог статей
Меню сайта

Форма входа

Категории раздела
Программные поделки [3]
EMACS [1]

Поиск

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Приветствую Вас, Гость · RSS 29.03.2024, 11:13

Главная » Статьи » Программы » EMACS

Вот и я о emacs
Вместо эпиграфа:
"Его можно бесконечно настраивать, но так никогда и не настроить."
(Просторы Интернет. О emacs)

Как-то давно попалась статья в журнале "Знание-Сила", уж не помню за
какой год, которая была посвящена психофизиологии восприятия музыки
(да, да - оказывается есть такой раздел человеческих знаний). Так вот,
оказывается можно научиться слушать, чувствовать и получать
удовольствие от классической музыки, если есть такое желание,
разумеется. Для этого необходимо, находясь в
соответствующем расположении духа и располагая временем прослушивать
какое-либо известное классическое музыкальное произведение! И
повторять такое упражнение до тех пор пока не будет достигнут
ожидаемый результат, который, в соответствии, со статьей незаставит
себя ждать! Повторение мать научения. Вот так и с emacs. Подступался я к нему несколько раз,
устанавливал, сносил, снова устанавливал и ... снова сносил. Казался
он мне тогда неудобным, но, в тоже время, весьма
привлекательным, а по части применения ну очень универсальным.
И вот, занимаясь программными поделками на Python, в какой-то момент
озаботился поиском подходящей IDE и ... вернулся к
emacs. Могу сказать, что потратив толику времени и сил я смог
работать в emacs более или менее внятно и оно того стоит! В Интернет
много информации, посвященной его применению в качестве IDE для
Python в частности. Добавлю, что emacs требует большей
собранности и внимания при написании кода, во всяком случае такое
впечатление сложилось у меня, и это есть хорошо! В конце концов в
части общих настроек у меня собрался вот такой emacs. Там, где ссылка
на ту или иную опцию не указана она (ссылка) легко находится поисковиком.
А здесь для тех, кто совсем незнаком с сабжем - кратко и по существу:
http://ignar.name/articles/emacs-dzen.html
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; http://www.emacswiki.org/emacs/VisibleBookmarks
(require 'bm);закладки
(setq bm-highlight-style 'bm-highlight-only-line) ;;default, the last one in the pic
;(setq bm-highlight-style 'bm-highlight-only-fringe) ;;middle bookmark
(setq bm-highlight-style 'bm-highlight-line-and-fringe) ;; the first one
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Подсветка текущей строки
;(setq scroll-step 1) (global-hl-line-mode 1);у меня выключена
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Проверка орфографии
;; http://www.linux.org.ru/forum/general/3438018
;; http://www.emacswiki.org/emacs/InteractiveSpell
;(require 'ispell-multi)
(setq-default ispell-program-name "aspell")
(setq ispell-dictionary "english")
(setq ispell-local-dictionary "ru")
(setq flyspell-default-dictionary "russian")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Краткие yes-no
(defalias 'yes-or-no-p 'y-or-n-p)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Сохранить сессию
(desktop-save-mode t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Включение выделения квадратного блока по C-<enter>
(cua-selection-mode t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Последний открытый файл
(recentf-mode 1)
(global-set-key (kbd "C-x C-r") 'recentf-open-files)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Присвоение окнам номера. Переключение по M-<цифра_номер_окна>
(require 'window-number)
(window-number-mode)
(window-number-meta-mode)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; IDO - ну очень удобно!
(require 'ido)
(ido-mode t)
(ido-everywhere 1)
(setq ido-enable-flex-matching t)
(setq ido-auto-merge-work-directories-length -1)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Отдельная папка для backup файлов
(setq backup-by-copying t
 backup-directory-alist
'(("." . "~/.backup"))
  delete-old-versions t
  kept-new-versions 6
  kept-old-versions 2
  version-control t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Сохраняем позицию курсора (точки) в файле
;; также как и последний открытый минибуфер
(require 'saveplace)
(setq-default save-place t)
(savehist-mode t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Делаем чтобы при открытии emacs'а не было мусора,
;; а был открыт только один буфер *scratch*
(setq inhibit-splash-screen t)
(setq inhibit-startup-message t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Отключить тулбар
(tool-bar-mode 0)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Номер колонки в статус баре:
(column-number-mode 't)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Показать номер строки
(global-linum-mode t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Парные скобки
(add-to-list 'load-path "~/.emacs.d")
(require 'autopair)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Подсветка парных скобок
(show-paren-mode t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 80 символов ширина строки
(require 'fill-column-indicator)
(add-hook 'python-mode-hook 'fci-mode)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Ввод командных комбинаций без переключения русской раскладки
(defun reverse-input-method (input-method)
  "Build the reverse mapping of single letters from INPUT-METHOD."
  (interactive
   (list (read-input-method-name "Use input method (default current): ")))
  (if (and input-method (symbolp input-method))
      (setq input-method (symbol-name input-method)))
  (let ((current current-input-method)
        (modifiers '(nil (control) (meta) (control meta))))
    (when input-method
      (activate-input-method input-method))
    (when (and current-input-method quail-keyboard-layout)
      (dolist (map (cdr (quail-map)))
        (let* ((to (car map))
               (from (quail-get-translation
                      (cadr map) (char-to-string to) 1)))
          (when (and (characterp from) (characterp to))
            (dolist (mod modifiers)
              (define-key local-function-key-map
                (vector (append mod (list from)))
                (vector (append mod (list to)))))))))
    (when input-method
      (activate-input-method current))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Tabbar
(require 'tabbar)
(global-set-key [C-S-tab] 'tabbar-backward-tab)
(global-set-key [C-tab] 'tabbar-forward-tab)
(set-face-foreground 'tabbar-default "LightSteelBlue")
(set-face-background 'tabbar-default "DarkSlateGray")
(set-face-foreground 'tabbar-selected "pale green")
(set-face-bold-p 'tabbar-selected t)
(set-face-attribute 'tabbar-button nil :box '(:line-width 1 :color "gray72"))
(setq tabbar-buffer-groups-function
      (lambda ()
        (list
         (cond
          ((find (aref (buffer-name (current-buffer)) 0) " *") "*")
          (t "All Buffers"))
         )))
(tabbar-mode)
;; tabbar end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Категория: EMACS | Добавил: avn (30.10.2012)
Просмотров: 1778 | Рейтинг: 1.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024