diff -r 5ac22a57c979 -r 762d326dca54 .emacs-my --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.emacs-my Wed Apr 23 22:13:48 2008 +0300 @@ -0,0 +1,912 @@ +;; -*- mode: lisp; coding: cp1251 -*- +;; +;; Copyright (C) 2008 by Gavenko Oleksandr +;; Copyright (C) 2008 by Гавенко Алескандр +;; +;; ~/.emacs file for GNU Emacs 21. + +;; silent runing +(setq inhibit-startup-message t) + +;; ====================================================================== +;; Debugging. + +;; Shut off message buffer by setting nil. Note - if you need to debug emacs, +;; comment these out so you can see what's going on. +(setq message-log-max 100) + +;;(add-hook 'after-init-hook +;; '(lambda () (setq debug-on-error t))) +;;(debug-on-entry 'command-line-1) + +;; Set the debug option to enable a backtrace when a problem occurs. +(setq debug-on-error nil) ; t/nil + +;; ====================================================================== +;; Load path. +(setq my-el-dir (expand-file-name "~/.el")) +(add-to-list 'load-path my-el-dir) + +;; ====================================================================== +;; GNU Serv. + +;; (load "~/emacs/bin/gnuserv/gnuserv.el") +;; (require 'gnuserv) +;; (setq gnuserv-frame (selected-frame)) + +(server-start) + +;; (desktop-load-default) +;; (desktop-read) + +;; ====================================================================== +;; Настройка внешнего вида редактора. +;; View. + +; remove menu on nil +(menu-bar-mode nil) ; t/nil +; remove button on nil +(tool-bar-mode nil) ; t/nil + +(if window-system + ;; Для X-window и Win + (progn + ;; size of emacs area and position + (set-frame-height (selected-frame) 52) + (set-frame-width (selected-frame) 130) + (set-frame-position (selected-frame) 30 15) + + ;;установка цветов экрана + (set-background-color "white") + (set-foreground-color "black") + ;;установка режимов работы курсора + (set-cursor-color "brown") + ;;(setq blink-matching-delay 0.01) + ;; курсор не мигает! + ;; (blink-cursor-mode nil) + ;; (set-face-font 'default "7x14") + ) + ;; Для tty + (progn + ) +) + +;; ====================================================================== +;; Standart settings + +;прикрепляет к каждому окну полоску прокрутки t/nil +(scroll-bar-mode t) + +;; удаляем строку целиком +(setq kill-whole-line t) + +;; show column & line numbers in status bar +(setq column-number-mode t) +(setq line-number-mode t) + +;; ---------------------------------------------------------------------- +;; Scrolling + +;; гладкий скроллинг с полями +;; (setq-default scroll-conservatively 70) +;; (setq-default scroll-preserve-screen-position 't) +;; при перемешении точка останавливается на расстоянии i строк к границе фрейма, +;; далее скролиться текст +;; (setq scroll-margin 2) + +;; ---------------------------------------------------------------------- +;; *Text* +(setq default-major-mode 'text-mode) +(add-hook 'text-mode-hook 'turn-on-auto-fill) + +;; ---------------------------------------------------------------------- +;; Show marked text +(setq transient-mark-mode t) +(setq font-lock-maximum-decoration t) +;; syntax highlighting +(global-font-lock-mode 1 t) + +;; ---------------------------------------------------------------------- +;; Line +(if window-system + (progn + (global-hl-line-mode t) + (custom-set-faces '(hl-line ((t (:inherit highlight :background "light yellow"))))) + ) + ) + +;; ---------------------------------------------------------------------- +;; Paren + +(show-paren-mode 1) ; Parenthesis matching via highlighting. +;; (setq show-paren-style 'expression) ; выделять все выражение в скобках +(setq show-paren-style (quote parenthesis)) + +;; ====================================================================== +;; Keyboard, mouse and selection + +(setq default-input-method 'cyrillic-jcuken) +;; (pc-bindings-mode) ; Myself define keybinding, see +;; Настройка выделения "как в Windows" +(setq pc-select-selection-keys-only t) ; to avoid some key bindings as F6, etc +(pc-selection-mode) ; This mode enables Delete Selection mode and Transient Mark mode. +(transient-mark-mode t) ; t/nil, when the mark is active, the region is highlighted +(delete-selection-mode t) ; t/nil + +;; ---------------------------------------------------------------------- +;; Completition +(partial-completion-mode t) ; For example, M-x p-c-m expands to M-x partial-completion-mode + +;; ---------------------------------------------------------------------- +;; Mouse + +;; Scroll Bar gets dragged by mouse butn 1 +(global-set-key [vertical-scroll-bar down-mouse-1] 'scroll-bar-drag) +;; Paste at point NOT at cursor +(setq mouse-yank-at-point 't) +(mouse-wheel-mode 1) + +;; ---------------------------------------------------------------------- +;; Key Binding (Short-keys). + +(global-set-key [home] 'beginning-of-line) +(global-set-key [end] 'end-of-line) +(global-set-key [C-home] 'beginning-of-buffer) +(global-set-key [C-end] 'end-of-buffer) +(global-set-key [C-delete] 'kill-word) +(global-set-key [delete] 'delete-char) +;; (global-set-key [backspace] 'backward-delete-char-untabify) ; not work properly in *info* mode + +;; setting some f[1-12] keys +(global-set-key [f1] 'help) +(global-set-key [f2] 'save-buffer) +;; (global-set-key [xxx] 'ediff-buffers) +(global-set-key [f4] 'ispell-buffer) +(global-set-key [f8] 'kill-this-buffer) +(global-set-key [M-f4] 'save-buffers-kill-emacs) +(global-set-key [f6] 'toggle-truncate-lines) + +;; search +(global-set-key [f3] 'search-forward) +(global-set-key [S-f3] 'search-backward) +;; *Occur* +(global-set-key (kbd "\e\eo") 'occur) + +;; frames, windows manipulation, switch buffers +(global-set-key [C-tab] 'other-window) +(global-set-key [?\C-x right] 'next-buffer) +(global-set-key [?\C-x left] 'previous-buffer) + +(global-set-key (kbd "C-x C-d") 'dired) + +(global-set-key (kbd "\e\eg") 'goto-line) +(global-set-key (kbd "\e\er") 'query-replace-regexp) + +;; (global-set-key [language-change] 'ignore) + +(global-set-key (kbd "C-x C-d") 'dired) + +;; ====================================================================== +;; Coding system, charset, locale, lang. + +; Подготовка к использованию соответствующих кодовых страниц. +(codepage-setup 866) +(codepage-setup 1251) + +;; (setq-default coding-system-for-read 'cp1251-dos) ; comment because prefer-coding-system will be ignored +;; (setq-default coding-system-for-write 'cp1251-dos) ; + +;; (setq locale-coding-system 'cp1251-dos) +;; (set-terminal-coding-system 'cp1251) +;; (set-keyboard-coding-system 'cp1251) + +(prefer-coding-system 'koi8-r-dos) +(prefer-coding-system 'utf-16-le) +(prefer-coding-system 'cp866-dos) + +(modify-coding-system-alist 'file "\\.el" 'iso-2022-7bit) +(if (equal window-system 'w32) + (progn + (set-selection-coding-system 'cp1251) + (prefer-coding-system 'utf-8-unix) + (prefer-coding-system 'cp1251-dos) + (modify-coding-system-alist 'file "\\.[ch]$" 'cp1251) + (modify-coding-system-alist 'file "[Mm]akefile.*$" 'cp1251) + ) + (progn + (set-selection-coding-system 'utf-8-unix) + (prefer-coding-system 'cp1251-dos) + (prefer-coding-system 'utf-8-unix) + (modify-coding-system-alist 'file "\\.[ch]$" 'cp1251-unix) + (modify-coding-system-alist 'file "[Mm]akefile.*$" 'cp1251-unix) + (modify-coding-system-alist 'process ".*" 'utf-8-unix) + ) + ) + +;; XXXXXXXXXXXXXXXXXXXXXXXX + +;; To open from command line file, which names has extended opcode +;; (set-file-name-coding-system 'cp1251) + +;; (set-language-environment "Russian") + +;; ====================================================================== +;; +;; NON-STANDARD VARIABLES + +(defvar emacs-base-dir + (expand-file-name "~/emacs") + "*Name of directory where emacs instaled.") + +;; ====================================================================== +;; +;; STANDARD VARIABLES + +(if (boundp 'confirm-kill-emacs) + (setq confirm-kill-emacs 'yes-or-no-p)) + +;; Try to speed things up, especially in VM. +(setq gc-cons-threshold 2000000) + +;; Don't beep in my headphones! +;; (setq visible-bell t) ; XXX in text terminal revert screen if press [end] or [home] + +(setq ange-ftp-generate-anonymous-password + user-mail-address) + +;; Prompt before evaluating local bits of lisp. This stops people +;; putting things at the end of files which delete all your files! +(setq enable-local-variables t + enable-local-eval 1) + +;; ====================================================================== +;; +;; STANDARD LIBRARIES + +(require 'jka-compr) ; Automatic decompression, hooks for tar-mode. +(if (fboundp 'auto-compression-mode) + (auto-compression-mode 1)) + +;; ====================================================================== +;; Save +(setq auto-save-default nil) + +;; ---------------------------------------------------------------------- +;; *Recentf* +;; Recent files in menu +(require 'recentf) +(recentf-mode t) +(setq recentf-max-saved-items 200) +(global-set-key (kbd "\e\eq") 'recentf-open-files) + +;; ---------------------------------------------------------------------- +;; revert +(global-set-key [f5] 'revert-buffer) +(setq revert-without-query (quote (".*"))) +(setq auto-revert-interval 2) + +;; ====================================================================== +;; Convenient + +;; ---------------------------------------------------------------------- +;; Completion +(require 'icomplete) ; Interactive completion in minibuffer. +(icomplete-mode) ; Toggle incremental minibuffer completion for this Emacs session. +;; может дополнять несколько слов одновременно +(load "complete") +(setq completion-ignored-extensions (quote ("CVS/" ".o" "~" ".bin" ".bak" ".obj" ".map" ".a" ".ln" ".blg" ".bbl" ".elc" + ".lof" ".glo" ".idx" ".lot" ".fmt" ".tfm" ".class" ".fas" ".lib" ".x86f" ".sparcf" + ".lo" ".la" ".toc" ".log" ".aux" ".cp" ".fn" ".ky" ".pg" ".tp" ".vr" ".cps" + ".fns" ".kys" ".pgs" ".tps" ".vrs"))) + + +;; ---------------------------------------------------------------------- +;; *grep* +(setq grep-command "find . -name '*' -exec grep -nH '' {} ;" + grep-find-command "find . -type f ! -path '*.svn*' ! -path '*CVS*' ! -path '*.hg*' -name '*' -print0 | xargs -0 -e grep -nH " + grep-highlight-matches nil ; do not set t because some grep do not has --color options + grep-tree-command "find -type f -print0 | xargs -0 -e grep -nH " + grep-use-null-device t) +(setq blink-matching-paren-on-screen t) + +;; ---------------------------------------------------------------------- +;; Music +(setq gnus-audio-au-player "winamp.exe" + gnus-audio-directory "D:\\music" + gnus-audio-wav-player "winamp.exe") + + +;; ====================================================================== +;; TIME SETTING + +;; ---------------------------------------------------------------------- +;; Time +;; +;; Time in 24 hour format, plus day and date. +;; (setq display-time-day-and-date t +;; display-time-24hr-format t +;; display-time-use-mail-icon t +;; display-time-day-and-date t +;; display-time-mail-file nil) +;; (display-time) + +;; ---------------------------------------------------------------------- +;; Calendar +;; (setq mark-holidays-in-calendar t) +;; (setq all-christian-calendar-holidays t) +;; (setq calendar-date-display-form (quote ((format "%04s-%02d-%02d" year (string-to-int month) (string-to-int day))))) +;; (setq calendar-time-display-form (quote (24-hours ":" minutes (if time-zone " (") time-zone (if time-zone ")")))) +;; (setq calendar-week-start-day 1) +;; (setq european-calendar-style t) + +;; ====================================================================== +;; +;; STANDARD HOOKS + +(add-hook 'write-file-hooks 'time-stamp) + +;; ====================================================================== +;; *auto-fill* + +(setq-default fill-column 90) +;; Turn on auto-fill mode +(add-hook 'html-mode-hook 'turn-on-auto-fill) +(global-set-key (kbd "\e\ef") 'auto-fill-mode) + +;; ---------------------------------------------------------------------- +;; DESIRE + +;; (require 'desire) + +;; (add-to-list 'desire-load-path +;; (expand-file-name "~/share/emacs/desire")) +;; (add-to-list 'auto-mode-alist +;; (cons (concat (regexp-quote desire-extension) "\\'") +;; 'emacs-lisp-mode)) + +;; ---------------------------------------------------------------------- + +;; Pilot support +;; (desire 'pilot) + +;; ---------------------------------------------------------------------- + +;; BBDB - Must be loaded before most other things, since other things +;; may perform special configuration if BBDB is present. +;; +;; (desire 'bbdb "bbdb") + +;; ---------------------------------------------------------------------- +;; Appointments, diary, calendar. +;; +;; Use "M-x calendar RET" to display the calendar and start +;; appointment warnings. + +;; (desire 'appt) +;; (desire 'calendar) +;; (desire 'todo-mode) +;; (desire 'diary "diary-lib") + +;; ---------------------------------------------------------------------- + +;; These provide options for the various message handling packages. +;; (desire 'browse-url) +;; (desire 'mailcrypt) +;; (desire 'supercite) + +;; Message handing packages. +;; (desire 'gnus) +;; (desire 'message) +;; (desire 'vm) +;; (desire 'sendmail) + +;; ---------------------------------------------------------------------- + +;; Miscellaneous + +;; (desire 'abbrev) +;; (desire 'bibtex) +;; (desire 'calc) +;; (desire 'cc-mode) +;; (desire 'ediff) +;; (desire 'eiffel-mode) +;; (desire 'emacs-w3m) +;; (desire 'eudc) +;; (desire 'filladapt) +;;;; (desire 'hugs-mode) +;; (desire 'haskell-mode) +;; (desire 'ispell) +;; (desire 'latex) +;; (desire 'lispdir) +;; (desire 'mpg123) +;; (desire 'php-mode) +;; (desire 'ps-print) +;; (desire 'psgml) +;; (desire 'sh-script) +;; (desire 'shell) +;;; (desire 'sql-mode) +;; (desire 'tex) +;; (desire 'w3) + +;; ====================================================================== +;; +;; PERSONAL + +;; (require 'chord-mode) ; edit guitar music. +;; (require 'discography) ; variant of BibTeX mode for discographies. + +;; ====================================================================== +;; +;; unNOVICEd commands... +;; +;; The following commands are usually disabled by default. Enable +;; them... + +(put 'eval-expression 'disabled nil) +(put 'downcase-region 'disabled nil) +(put 'upcase-region 'disabled nil) +(put 'narrow-to-page 'disabled nil) +(put 'narrow-to-region 'disabled nil) + +;; ====================================================================== +;; TEX +(setq tex-run-command "initex") + + +;; ====================================================================== +;; AUC TeX + +;; (load "tex-site") + +;(require 'tex-mik) +;(add-hook 'LaTeX-mode-hook 'LaTeX-install-toolbar) +;; (setq TeX-parse-self t) ; Enable parse on load. +;; (setq TeX-auto-save t) ; Enable parse on save. +;; (setq-default TeX-master nil) ; Query for master file. Finally, if you often use \include or \input, you should make AUCTEX aware of the multi-file document structure + +;(setq TeX-PDF-mode t) +;(setq TeX-interactive-mode t) +;(setq TeX-source-specials-mode 1) +;(load "tex-site") +;(load "tex-mik") + +;;модифицируем меню +;;; some more menu entries in the command list: +;;; see tex-mik.el from package auctex: %v is defined in tex-mik.el +;;; other variables are defined in tex.el from auctex +;;; the meaning of some auctex-varibles: + ;symbols defined in tex.el and tex-mik.el: + ;%b name slave tex-file %t name master tex-file + ;%d dvi-file %f ps-file + ;%l "latex --src-specials" + ;%n line number %p printcommand %q "lpq" + ;%r (TeX-style-check TeX-print-style) + ;%s master-file-name without extention + ;%v yap command view line +;(eval-after-load "tex" +; '(progn +; (add-to-list 'TeX-command-list +; (list "->PS landscape for pdf" +; "dvips %d -N0 -Ppdf -G0 -T 297mm,210mm -o %f " +; 'TeX-run-command nil t)) +; (add-to-list 'TeX-command-list +; (list "All Texify run-viewer" +; "texify --tex-opt=--src --run-viewer --clean %s.tex" +; 'TeX-run-command nil t)))) + + +;; ====================================================================== +;; +;; Reftex activation (Reftex is included with Emacs 21.1) + +;; (autoload 'reftex-mode "reftex" "RefTeX Minor Mode" t) +;; (autoload 'turn-on-reftex "reftex" "RefTeX Minor Mode" nil) +;; (autoload 'reftex-citation "reftex-cite" "Make citation" nil) +;; (autoload 'reftex-index-phrase-mode "reftex-index" "Phrase mode" t) +;; (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode +;; (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode + +;; ====================================================================== +;; +;;Настройки PreviewLatex + +;(load "preview-latex.el" nil t t) + +;(add-hook 'LaTeX-mode-hook #'LaTeX-preview-setup) +;(autoload 'LaTeX-preview-setup "preview") + + +;; ====================================================================== +;; +;; Info + +(require 'info) +(if (equal window-system 'w32) + (progn + (setq Info-directory-list (list (expand-file-name "~/../bin/emacs/info"))) + (add-to-list 'Info-directory-list (expand-file-name "~/../bin/MinGW/info") t) ; t - append to the end + )) + +;; ====================================================================== +;; +;; SHELL + +;; If you plan to use the bash shell, add the following lines to your .emacs file: +;; (setq binary-process-input t) +;; (setq w32-quote-process-args ?\") +;; (setq shell-file-name "bash") ;; or sh if you rename your bash executable to sh. +;; (setenv "SHELL" shell-file-name) +;; (setq explicit-shell-file-name shell-file-name) +;; (setq explicit-sh-args '("-login" "-i")) + +;; Include the following only if you want to run +;; bash as your shell. + +;; Setup Emacs to run bash as its primary shell. +;; (setq shell-file-name "bash") +;; (setq shell-command-switch "-c") +;; (setq explicit-shell-file-name shell-file-name) +;; (setenv "SHELL" shell-file-name) +;; (setq explicit-sh-args '("-login" "-i")) +;; (if (boundp 'w32-quote-process-args) +;; (setq w32-quote-process-args ?\")) ;; Include only for MS Windows. + +;; (setq sh-shell-file "D:\\home\\cygwin\\bin\\sh.exe") +;; (setq sh-shell-arg (quote ((bash) (csh . "-f") (pdksh) (ksh88) (rc . "-p") (wksh) (zsh . "-f") (sh . "-i")))) +(setq explicit-bash-args (quote ("-login" "-i"))) + + +(if (equal window-system 'w32) + (progn + (setq auto-mode-alist + (append + (list (cons "\\.[bB][aA][tT]$" 'bat-mode)) + ;; For DOS init files + (list (cons "CONFIG\\." 'bat-mode)) + (list (cons "AUTOEXEC\\." 'bat-mode)) + auto-mode-alist)) + (require 'bat-mode) + ) + ) + +;; ====================================================================== +;; +;; Spell + +;(setq ispell-dictionary "russianw"); default dictionary +;(setq ispell-local-dictionary "russianw"); default dictionary +;(add-hook 'text-mode-hook 'flyspell-mode) +;(setq flyspell-default-dictionary "russianw") +;(setq flyspell-delay '1) +;; (setq ispell-local-dictionary-alist +;; '((nil ; default (english.aff) +;; "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1) +;; ("UK-xlg" ; english large version +;; "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "UK-xlg") nil iso-8859-1) +;; ("US-xlg" ; american large version +;; "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "US-xlg") nil iso-8859-1) +;; ) +;; ) + +;; ====================================================================== +;; VCS, version control, cvs, svn. + +(if (equal window-system 'w32) + (progn + (modify-coding-system-alist 'process "cvs" '(cp1251-dos . cp1251-dos)) + (modify-coding-system-alist 'process "svn" '(cp866-dos . cp1251-dos)) + )) + +;; (setq-default vc-svn-register-switches "--encoding cp1251") +(setq-default vc-svn-register-switches nil) + +(setq my-svn-dir (concat my-el-dir "/svn")) +(if (file-exists-p my-svn-dir) + (progn + (add-to-list 'load-path my-svn-dir) + (require 'vc-svn) + ) + ) + +(if (file-exists-p (concat my-el-dir "/mercurial.el")) + (require 'mercurial) + ) + +(if window-system + (setq-default vc-annotate-background "white") + ) + +;; ====================================================================== +;; Devel, prog + +(add-to-list 'auto-mode-alist '("\\.cu$" . c-mode)) + +(setq-default show-trailing-whitespace t) +;; (add-hook 'c-mode-hook '(lambda () +;; (setq show-trailing-whitespace t))) + +;; ---------------------------------------------------------------------- +;; TODO, XXX, FIXME highlight. +;; Show blanks and FIXME +;; http://www.emacswiki.org/cgi-bin/wiki/EightyColumnRule + +(defface my-tab-face + '((t :background "gray")) + "Face for showing TABs." + :group 'basic-faces) + +(defface my-todo-face + '((t :foreground "red" :weight bold)) + "Font for showing TODO words." + :group 'basic-faces) + +(defface my-conflict-face + '((t :background "pink" :foreground "red" :weight bold)) + "Font for showing conflicts." + :group 'basic-faces) + +(add-hook 'font-lock-mode-hook (function (lambda () + (unless (or (eq 'diff-mode major-mode) (eq 'script-mode major-mode)) + (font-lock-add-keywords nil + '( + ("\t+" 0 'my-tab-face t) + ("\\<\\(FIXME:?\\|XXX:?\\|TODO:?\\)\\>" 1 'my-todo-face t) + ("\\(=\\{7,\\}\\|<\\{7,\\}\\|>\\{7,\\}\\)" 1 'my-conflict-face t) + )))))) + +;; ---------------------------------------------------------------------- +;; Diff, patch +(setq diff-switches "-u") + +;; ---------------------------------------------------------------------- +;; Indent + +(setq standard-indent 4) +(setq c-basic-offset 4) +(setq sh-basic-offset 2) +(setq sgml-basic-offset 4) + +;; TAB (tab settings) +(setq-default tab-width 4) +(setq-default indent-tabs-mode nil) ; t - будут вставляться \t +(setq tab-always-indent t) +(setq tab-stop-list (quote (0 4 8 12 16 20 24 28 32 36 40))) +(setq c-tab-always-indent t) + +(setq comment-style (quote indent)) + +;; ---------------------------------------------------------------------- +;; Diff. +(setq ediff-diff-options "") + +;; ---------------------------------------------------------------------- +;; *Compile* +(setq compile-auto-highlight t + compile-command "make ") +;; compilation window shall scroll down if not 0 +(setq compilation-scroll-output 1) + +;; My funny error messages. +;; XXX нужно реализовать через hook. +(require 'compile) +(add-to-list 'compilation-error-regexp-alist-alist '(nant "^\\( +\\[csc\\] \\|\\)\\(.*\\)(\\([0-9]*\\),\\([0-9]*\\)):" 2 3 4)) +(add-to-list 'compilation-error-regexp-alist 'nant) +(add-to-list 'compilation-mode-font-lock-keywords '("\\(/[Oo][Uu][Tt]:[^ ]+\\)" . 1)) +(add-to-list 'compilation-mode-font-lock-keywords '("[ ]\\(/F[oe][^ ]+\\)" . 1)) + +;; ---------------------------------------------------------------------- +;; asm +(setq-default asm-comment-char 0) + + +;; ---------------------------------------------------------------------- +;; LISP +(setq list-command-history-max 256) + +;; ---------------------------------------------------------------------- +;; C, c-lang +(setq c-echo-syntactic-information-p t) + +(defconst my-c-style + '((c-tab-always-indent . t) + (c-comment-only-line-offset . 4) + (c-hanging-braces-alist . ((substatement-open after) + (brace-list-open))) + (c-hanging-colons-alist . ((member-init-intro before) + (inher-intro) + (case-label after) + (label after) + (access-label after))) + (c-cleanup-list . (scope-operator + empty-defun-braces + defun-close-semi)) + (c-offsets-alist . ((arglist-intro . ++) + (arglist-close . c-lineup-arglist) + (arglist-cont-nonempty . ++) + (statement-block-intro . +) + (inline-open . 0) + (inexpr-class . 0) + (statement-cont . ++) + (label . 0) + (substatement-open . 0) + (case-label . 0) + (block-open . 0) + (comment-intro . 0) + (knr-argdecl-intro . -))) + (c-echo-syntactic-information-p . t)) + "My C Programming Style") + +;; (objc-mode . "my-mode") (c++-mode . "cc-mode") +(add-hook 'c-initialization-hook (lambda () + (c-add-style "my" my-c-style t))) +(setq c-default-style '((java-mode . "my") (c-mode . "my") (csharp-mode . "my") (other . "my"))) + +;; Customizations for all modes in CC Mode. +;; (defun my-c-mode-common-hook () +;; ;; add my personal style and set it for the current buffer +;; (c-add-style "PERSONAL" my-c-style t) +;; ;; other customizations +;; (setq tab-width 8 +;; ;; this will make sure spaces are used instead of tabs +;; indent-tabs-mode nil) +;; ;; we like auto-newline and hungry-delete +;; (c-toggle-auto-hungry-state 1) +;; ;; key bindings for all supported languages. We can put these in +;; ;; c-mode-base-map because c-mode-map, c++-mode-map, objc-mode-map, +;; ;; java-mode-map, idl-mode-map, and pike-mode-map inherit from it. +;; (define-key c-mode-base-map "\C-m" 'c-context-line-break)) + +;; (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) + +;; ---------------------------------------------------------------------- +;; *csharp*, c-sharp +;; +(autoload 'csharp-mode "csharp-mode" "Major mode for editing C# code." t) +(add-to-list 'auto-mode-alist '("\\.cs$" . csharp-mode)) + +;; ---------------------------------------------------------------------- +;; *Java* +;; Update the Emacs load-path to include the path to +;; the JDE and its require packages. This code assumes +;; that you have installed the packages in the emacs/site +;; subdirectory of your home directory. +;; (add-to-list 'load-path (expand-file-name "~/emacs/site/semantic")) +;; (add-to-list 'load-path (expand-file-name "~/emacs/site/speedbar")) +;; (add-to-list 'load-path (expand-file-name "~/emacs/site/elib-1.0")) +;; (add-to-list 'load-path (expand-file-name "~/emacs/site/eieio")) +;; (add-to-list 'load-path (expand-file-name "~/emacs/site/jde-2.3.5.1/lisp")) + +;; Load CEDET +;; (load-file "~/emacs/site/common/cedet.el") +;; Enabling SEMANTIC minor modes. See semantic/INSTALL for more ideas. +;; (semantic-load-enable-code-helpers) + +;; If you want Emacs to defer loading the JDE until you open a +;; Java file, edit the following line +;; (setq defer-loading-jde nil) +;; to read: +;; +;; (setq defer-loading-jde t) +;; + +;; (if defer-loading-jde +;; (progn +;; (autoload 'jde-mode "jde" "JDE mode." t) +;; (add-to-list 'auto-mode-alist '("\\.java\\'" . jde-mode)) +;; (require 'jde))) + + +;; Sets the basic indentation for Java source files +;; to two spaces. +;; (defun my-jde-mode-hook () +;; (setq c-basic-offset 2)) + +;; (add-hook 'jde-mode-hook 'my-jde-mode-hook) + +;; (require 'jde) + +;; ******************** +;; ECB +;; ******************* + +;; load ECB +;; (add-to-list 'load-path "~/emacs/site/ecb-2.32") +;; (require 'ecb) + +;; load ECB +;(add-to-list 'load-path "~/emacs/site/ecb-2.32") +;(require 'ecb) +;'(ecb-options-version "2.32") +;'(ecb-wget-setup (quote cons)) +;(global-set-key (kbd "\e\eE") 'ecb-activate) + +;; ====================================================================== +;; Printing + +;; Use Notepad to print plain text files to the default Windows printer +;(setq lpr-command "notepad") +;(setq lpr-headers-switches '("/p")) ; \ mis-use these +;(setq lpr-switches nil) ; / two variables +;(setq printer-name nil) ; notepad takes the default +;(setq lpr-printer-switch "/P") ;; run notepad as batch printer +;; +;;Печать в файл +;(setq printer-name "~/myprint.txt") +;(setq ps-printer-name nil) +;(setq ps-print-header nil) +;;модифицируем меню +;;; some more menu entries in the command list: +;;; see tex-mik.el from package auctex: %v is defined in tex-mik.el +;;; other variables are defined in tex.el from auctex +;;; the meaning of some auctex-varibles: + ;symbols defined in tex.el and tex-mik.el: + ;%b name slave tex-file %t name master tex-file + ;%d dvi-file %f ps-file + ;%l "latex --src-specials" + ;%n line number %p printcommand %q "lpq" + ;%r (TeX-style-check TeX-print-style) + ;%s master-file-name without extention + ;%v yap command view line +;(eval-after-load "tex" +; '(progn +; (add-to-list 'TeX-command-list +; (list "->PS landscape for pdf" +; "dvips %d -N0 -Ppdf -G0 -T 297mm,210mm -o %f " +; 'TeX-run-command nil t)) +; (add-to-list 'TeX-command-list +; (list "All Texify run-viewer" +; "texify --tex-opt=--src --run-viewer --clean %s.tex" +; 'TeX-run-command nil t)))) + + +;; ====================================================================== +;; +;; Установка режима CUA - все как в Windows +;; поддержка Ctr-c,v,x,d как в windows через пакет CUA + +;; версия 21.3 + +;(require 'cua) +;(CUA-mode t) +;;установка режимов работы курсора через CUA +;(setq CUA-mode-normal-cursor-color "black") +;(setq CUA-mode-overwrite-cursor-color "red") +;(setq CUA-mode-read-only-cursor-color "green") +;(CUA-keypad-mode 'numeric t); доп.клавиатура - цифры +;(CUA-keypad-mode 'prefix t); доп.клавиатура - префиксы регистров (М-2) + +;; версия 21.3.50 и старше + +;(require 'cua-base) +;(cua-mode t) +;;установка режимов работы курсора через CUA +;(setq cua-normal-cursor-color "black") +;(setq cua-overwrite-cursor-color "red") +;(setq cua-read-only-cursor-color "green") + + +;; ====================================================================== +;; Backup + +;; (setq +;; backup-by-copying t ; don't clobber symlinks +;; backup-directory-alist +;; '(("." . "~/backup")) ; don't litter my fs tree +;; delete-old-versions t +;; kept-new-versions 6 +;; kept-old-versions 2 +;; version-control t) ; use versioned backups +;(setq version-control t);нумерованный бэкап - 2 первых и 2 последних +;(setq delete-old-versions t);удаление промежуточных бэкапов + + +;; ====================================================================== + +(cd "~/") +(setq my-author-name (getenv "USER")) +(setq user-full-name (getenv "USER")) + +(message ".emacs loaded OK.") + +;; +;; End loading...