Advertisement
Guest User

config emacs

a guest
Nov 20th, 2014
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 9.42 KB | None | 0 0
  1. (tool-bar-mode 0)   ; отключаем тулбар
  2. (menu-bar-mode 0)   ; отключаем строку меню
  3. (scroll-bar-mode 0) ; отключаем скролы
  4.  
  5. (add-to-list 'load-path "~/.emacs.d/")
  6. (add-to-list 'load-path "~/.emacs.d/themes/")
  7. (add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
  8.  
  9. (setq inhibit-startup-message t
  10.       inhibit-startup-echo-area-message t) ;отключаем стартовый экран
  11.  
  12. (cua-mode 1) ; включение более привычных сочетаний клавишь
  13.  
  14.  
  15. (require 'package)
  16. ;; Задаём список репозиториев.
  17. (setq package-archives '(;; ("ELPA" . "http://tromey.com/elpa/")
  18.                          ;; ("gnu" . "http://elpa.gnu.org/packages/")
  19.                          ;; ("marmalade" . "http://marmalade-repo.org/packages/")
  20.                          ("MELPA" . "http://melpa.milkbox.net/packages/")))
  21. (package-initialize)
  22.  
  23. ;-----------------------------------------------------------------------------
  24. (defun reverse-input-method (input-method)
  25.   "Build the reverse mapping of single letters from INPUT-METHOD."
  26.   (interactive
  27.    (list (read-input-method-name "Use input method (default current): ")))
  28.   (if (and input-method (symbolp input-method))
  29.       (setq input-method (symbol-name input-method)))
  30.   (let ((current current-input-method)
  31.         (modifiers '(nil (control) (meta) (control meta))))
  32.     (when input-method
  33.       (activate-input-method input-method))
  34.     (when (and current-input-method quail-keyboard-layout)
  35.       (dolist (map (cdr (quail-map)))
  36.         (let* ((to (car map))
  37.                (from (quail-get-translation
  38.                       (cadr map) (char-to-string to) 1)))
  39.           (when (and (characterp from) (characterp to))
  40.             (dolist (mod modifiers)
  41.               (define-key local-function-key-map
  42.                 (vector (append mod (list from)))
  43.                 (vector (append mod (list to)))))))))
  44.     (when input-method
  45.       (activate-input-method current))))
  46.  
  47. (defadvice read-passwd (around my-read-passwd act)
  48.   (let ((local-function-key-map nil))
  49.     ad-do-it))
  50.  
  51. (reverse-input-method "russian-computer") ; хоткеи при русской раскладке
  52. ;;----------------------------------------------------------------------
  53.  
  54.  
  55. ;(setq show-paren-style 'expression) ;подсветка лисп выражений
  56.  
  57. (setq make-backup-files         nil) ; Don't want any backup files
  58. (setq auto-save-list-file-name  nil) ; Don't want any .saves files
  59. (setq auto-save-default         nil) ; Don't want any auto saving
  60.  
  61. ;; номера строк
  62. ;; http://code.google.com/p/dea/source/browse/trunk/my-lisps/linum%2B.el
  63. (require 'linum+)
  64. (setq linum-format "%d")
  65. (global-linum-mode 1)
  66.  
  67.  
  68. ;; built-in работа с фалами
  69. (require 'ido)
  70. (ido-mode t)
  71. (setq ido-enable-flex-matching t)
  72.  
  73.  
  74. ;; built-in рабоа с буферами
  75. (require 'bs)
  76. (setq bs-configurations
  77.       '(("files" "^\\*scratch\\*" nil nil bs-visits-non-file bs-sort-buffer-interns-are-last)))
  78.  (global-set-key (kbd "<f2>") 'bs-show)
  79.  
  80. ;; http://www.emacswiki.org/emacs/AutoComplete Автодополнение
  81. (add-to-list 'load-path "~/.emacs.d/auto-complete")
  82. (require 'auto-complete-config)
  83. (ac-config-default)
  84. (add-to-list 'ac-dictionary-directories "/home/balamyt/.emacs.d/auto-complete/dict")
  85. (add-to-list 'ac-modes 'web-mode) ;дружим с вебмодом
  86.  
  87. ;; http://www.emacswiki.org/emacs/SrSpeedbar браузер файлов
  88. (require 'sr-speedbar)
  89. (global-set-key (kbd "<f12>") 'sr-speedbar-toggle)
  90.  
  91. ;;Снипеты
  92. ;; http://www.emacswiki.org/emacs/Yasnippet
  93. (add-to-list 'load-path "~/.emacs.d/elpa/yasnippet")
  94. (require 'yasnippet)
  95. (yas-global-mode 1)
  96. ;(yas/load-directory "~/.emacs.d/yasnippet/snippets")
  97.  
  98. ;; Options -> Set default font
  99. (add-to-list 'default-frame-alist '(font . "Consolas-11"))
  100. (set-default-font "Consolas-11")
  101.  
  102.  
  103.  
  104. ;** Projectile
  105. ;   https://github.com/bbatsov/projectile
  106. ;
  107. ;   | Combo     | Function                   | Description                |
  108. ;   |-----------+----------------------------+----------------------------|
  109. ;   | C-c p f   | projectile-find-file       | Shows project files        |
  110. ;   | C-c p g   | projectile-grep            | Runs grep on project files |
  111. ;   | C-c p r   | projectile-replace         | Interactive query replace  |
  112. ;   | C-c p R   | projectile-regenerate-tags | Regenerates tags           |
  113. ;   | C-c p C-h |                            | Help                    
  114.  
  115. ;** Tags
  116.    (global-set-key (kbd "<f3>") 'visit-tags-table)
  117.  
  118.  
  119. ; закрывание парных кавычек и скобочек
  120. (require 'autopair)
  121. (autopair-global-mode)
  122.  
  123. ;устанавливаем мод для php
  124. ;(add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode))
  125.  
  126. ;;; Web-mode --------------------------------------------------------
  127. (require 'web-mode)
  128.  
  129. ; с какими файлами ассоциировать web-mode
  130. (add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
  131. (add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))
  132. (add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
  133.  
  134. (setq web-mode-engines-alist
  135.       '(("php"    . "\\.phtml\\'")
  136. ;   ("php"    . "\\.php\\'")
  137.         ("blade"  . "\\.blade\\."))
  138. )
  139.  
  140.  
  141. ; настройка отступов
  142. (setq web-mode-markup-indent-offset 2)
  143. (setq web-mode-css-indent-offset 2)
  144. (setq web-mode-code-indent-offset 2)
  145.  
  146. ; сниппеты и автозакрытие парных скобок
  147. (setq web-mode-extra-snippets '(("erb" . (("name" . ("beg" . "end"))))
  148.                                 ))
  149. (setq web-mode-extra-auto-pairs '(("erb" . (("open" "close")))
  150.                                   ))
  151.  
  152. ; подсвечивать текущий элемент
  153. (setq web-mode-toggle-current-element-highlight t)
  154. (setq web-mode-enable-current-element-highlight t)
  155. (set-face-background 'web-mode-current-element-highlight-face "#007")
  156.  
  157. ;подсветка текущей строки
  158. (require 'highlight-current-line)
  159. (highlight-current-line-on t)
  160. (set-face-background 'highlight-current-line-face "#1B1B1B")
  161.  
  162. ;; автодополение для веб-мода
  163. (setq web-mode-ac-sources-alist
  164.       '(("css" . (ac-source-words-in-buffer ac-source-css-property))
  165.         ("html" . (ac-source-words-in-buffer ac-source-abbrev))
  166.         ("php" . (ac-source-words-in-buffer
  167.                   ac-source-words-in-same-mode-buffers
  168.                   ac-source-dictionary))))
  169.  
  170. (global-font-lock-mode 1)
  171. (setq font-lock-maximum-decoration 1)
  172.  
  173. ;подсветка синтаксиса
  174. (set-face-attribute 'web-mode-html-tag-face nil :foreground "#7CFF5D") ; цвет тегов
  175. (set-face-attribute 'web-mode-doctype-face nil :foreground "#67C66F") ; цвет доктайпа
  176. (set-face-attribute 'web-mode-html-tag-bracket-face nil :foreground "#1D5382") ; цвет <> у тегов
  177. (set-face-attribute 'web-mode-html-attr-name-face nil :foreground "#9B0A00") ; цвет имен атрибутов тегов
  178. (set-face-attribute 'web-mode-html-attr-value-face nil :foreground "#15550B") ; цвет значения атрибутов тегов
  179. (set-face-attribute 'web-mode-html-attr-equal-face nil :foreground "#9B0A00") ; цвет равно
  180. (set-face-attribute 'web-mode-html-tag-custom-face nil :foreground "#999") ;
  181. ;(set-face-attribute 'web-mode-attr-tag-custom-face nil :foreground "#888")
  182.  
  183.  
  184. ;;; JS
  185.  
  186. (require 'json-mode)
  187. (require 'js2-mode)
  188. ;(require 'ac-js2)
  189. ;(require 'coffee-mode)
  190.  
  191. (require 'tern)
  192. (require 'tern-auto-complete)
  193.  
  194. (add-hook 'js-mode-hook (lambda () (tern-mode t)))
  195. (eval-after-load 'tern
  196.    '(progn
  197.       (require 'tern-auto-complete)
  198.       (tern-ac-setup)))
  199.  
  200.  
  201. ; хоткеи web-mod
  202. (global-unset-key (kbd "C-]"))
  203. (global-set-key (kbd "C-]") 'web-mode-fold-or-unfold) ;сворачивание кода
  204. (global-set-key (kbd "C-M-v") 'indent-region) ;выравнивание кода
  205. (global-set-key (kbd "C-M-q") 'kill-buffer-and-window) ;закрыть буфер и окно
  206. (global-set-key (kbd "C-q") 'kill-buffer) ;закрыть буфер не закрывая окна
  207. (global-set-key (kbd "C-a") 'mark-whole-buffer) ;выделить все
  208.  
  209. ;отключаем стрелочки перевода строчки
  210. (global-visual-line-mode t)
  211. (setq longlines-wrap-follows-window-size t)
  212. (global-set-key [(control meta l)] 'toggle-truncate-lines) ;отключение перевода строки на краю экрана
  213.  
  214.  
  215. ;php yasnipet
  216. ;(require 'php-auto-yasnippets)
  217. ; web-mod end-----------------------------------------
  218.  
  219.  
  220. (setq scroll-conservatively 50) ;плавность прокрутки
  221. (setq scroll-margin 10)         ;плавность прокрутки
  222.  
  223. ; навигация по проекту
  224. (require 'projectile)
  225.  
  226. ; для нормальной вставвки из других приложений
  227. (custom-set-variables
  228. '(interprogram-paste-function (quote x-cut-buffer-or-selection-value) t)
  229. '(x-select-enable-clipboard t))
  230.  
  231. (windmove-default-keybindings 'meta) ;переключение между окнами по мета+стрелки
  232. (fset 'yes-or-no-p 'y-or-n-p) ;сокращения yes и no
  233.  
  234. ; глобальная подсветка
  235. ;(global-hl-line-mode 1)
  236.  
  237.  
  238. ;(require 'tomorrow-night-paradise-theme)
  239. ;(load-theme tomorrow-night-paradise t) ; подключаем тему
  240. ;(require 'evenhold-theme)
  241. ;(load-theme evenhold t) ; подключаем тему
  242.  
  243. (require 'waher-theme)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement