Skip to content

Instantly share code, notes, and snippets.

@patrickmaciel
Last active August 29, 2015 14:10
Show Gist options
  • Save patrickmaciel/7f238493ad7ea5ada9e5 to your computer and use it in GitHub Desktop.
Save patrickmaciel/7f238493ad7ea5ada9e5 to your computer and use it in GitHub Desktop.
my old init.el (.emacs on windows) configuration file
(require 'package)
(package-initialize)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'load-path "~/emacs-packages/")
(load "~/emacs-packages/workaround-mumamo-buffer-file-name-warnings.el")
(load "~/emacs-packages/nxhtml/autostart.el")
;; smooth-scrolling
(require 'smooth-scrolling)
;; scroll one line at a time (less "jumpy" than defaults)
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
(setq scroll-step 1) ;; keyboard scroll one line at a time
(windmove-default-keybindings 'meta)
(require 'saveplace)
;; (require 'cask "C:/Users/patrick_campos/.cask/cask.el")
;; (cask-initialize)
;;
;; (setq caskxy/cask-cli-path "C:/bin/.emacs.d/cask-cli.el")
;; (caskxy/do-cask-command "upgrade")
;; (require 'caskxy)
;; ================ old .emacs
(setq w32shell-cygwin-bin "c:\\cygwin64\\bin")
(setq delete-by-moving-to-trash t)
(setq ido-enable-flex-matching t)
(setq fiplr-ignored-globs '((directories (".git" ".svn" ".idea")) (files ("*.jpg" "*.png" "*.zip" "*~"))))
(require 'w32shell)
(require 'recentf)
(w32shell-add-emacs)
(w32shell-set-shell "cygwin")
(recentf-mode 1)
(flycheck-mode t)
;; aggressive indent
(add-hook 'emacs-lisp-mode-hook #'aggressive-indent-mode)
(add-hook 'css-mode-hook #'aggressive-indent-mode)
(global-aggressive-indent-mode 1)
(add-to-list 'aggressive-indent-excluded-modes 'html-mode)
;; (put 'downcase-region 'disabled nil)
;; (put 'upcase-region 'disabled nil)
;; (put 'dired-find-alternate-file 'disabled nil)
(ido-mode)
(server-start)
(add-hook 'prog-mode-hook
'(lambda ()
(yas-minor-mode)))
;; (yas-global-mode 1)
(setq yas-snippet-dirs '("~/.emacs.d/snippets"))
;; ===============
(yas-global-mode t)
(projectile-global-mode)
(setq projectile-indexing-method 'alien)
(setq projectile-completion-system 'helm)
(setq projectile-enable-caching t)
;; (helm-projectile-on)
(setq helm-projectile-sources-list '(helm-source-projectile-projects
helm-source-projectile-files-list))
(prefer-coding-system 'utf-8)
(setq coding-system-for-read 'utf-8)
(setq coding-system-for-write 'utf-8)
;; emmet
(add-hook 'sgml-mode-hook 'emmet-mode) ;; Auto-start on any markup modes
(add-hook 'css-mode-hook 'emmet-mode) ;; enable Emmet's css abbreviation.
;; (add-hook 'emmet-mode-hook (lambda () (setq emmet-indent-after-insert nil)))
(add-hook 'emmet-mode-hook (lambda () (setq emmet-indentation 2))) ;; indent 2 spaces.
(setq emmet-move-cursor-between-quotes t) ;; default nil
(global-set-key (kbd "C-=") 'emmet-expand-line)
;; iedit
(require 'iedit)
(defun iedit-dwim (arg)
"Starts iedit but uses \\[narrow-to-defun] to limit its scope."
(interactive "P")
(if arg
(iedit-mode)
(save-excursion
(save-restriction
(widen)
;; this function determines the scope of `iedit-start'.
(if iedit-mode
(iedit-done)
;; `current-word' can of course be replaced by other
;; functions.
(narrow-to-defun)
(iedit-start (current-word) (point-min) (point-max)))))))
;; (global-set-key (kbd "C-;") 'iedit-dwim)
(setq save-place-file (concat user-emacs-directory "saveplace.el"))
(setq-default save-place t)
;; (eletric-indent-mode t)
;; flycheck - syntax checker for php
;; (flycheck-define-checker my-php
;; "A PHP syntax checker using the PHP command line interpreter.
;; See URL `http://php.net/manual/en/features.commandline.php'."
;; :command ("php" "-l" "-d" "error_reporting=E_ALL" "-d" "display_errors=1"
;; "-d" "log_errors=0" source)
;; :error-patterns
;; ((error line-start (or "Parse" "Fatal" "syntax") " error" (any ":" ",") " "
;; (message) " in " (file-name) " on line " line line-end))
;; :modes (php-mode php+-mode web-mode))
(flycheck-define-checker php-phpcs
"A PHP syntax checker using PHP_CodeSniffer. See URL `http://pear.php.net/package/PHP_CodeSniffer/'."
:command ("phpcs" "--report=checkstyle" source)
:error-parser flycheck-parse-checkstyle
:modes php-mode web-mode)
(add-to-list 'flycheck-checkers 'php-phpcs)
(require 'multiple-cursors)
(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
(global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this)
(require 'auto-complete-config)
(ac-config-default)
(setq mac-command-modifier 'meta)
(setq mac-option-modifier nil)
;; ext modes
(add-to-list 'auto-mode-alist '("Gemfile\\'" . ruby-mode))
;; hooks
(add-hook 'text-mode-hook 'orgtbl-mode)
;; keyboard translates
(keyboard-translate ?\C-j ?\C-x)
(keyboard-translate ?\C-x ?\C-j)
;; (keyboard-translate ?\C-i ?\C-c)
;; (keyboard-translate ?\C-c?\C-i)
;; navigate buffers
(global-set-key (kbd "M-]") 'next-buffer)
(global-set-key (kbd "M-[") 'previous-buffer)
(global-set-key [\C-\tab] 'projectile-switch-to-buffer)
(ido-mode 1)
(ido-everywhere 1)
(flx-ido-mode 1)
(setq ido-use-faces nil)
;; functions
(defun select-current-line ()
"Selects the currenct line"
(interactive)
(end-of-line)
(push-mark (line-beginning-position) nil t))
(global-set-key (kbd "M-l") 'select-current-line)
(defun line-above ()
"Pastes line above"
(interactive)
(move-beginning-of-line nil)
(newline-and-indent)
(forward-line -1)
(indent-according-to-mode))
(global-set-key (kbd "M-RET") 'line-above)
(defun cut-line-or-region ()
""
(interactive)
(if (region-active-p)
(kill-region (region-beginning) (region-end))
(kill-region (line-beginning-position) (line-beginning-position 2))))
(global-set-key [remap kill-region] 'cut-line-or-region)
(defun copy-line-or-region ()
""
(interactive)
(if (region-active-p)
(kill-ring-save (region-beginning) (region-end))
(kill-ring-save (line-beginning-position) (line-beginning-position 2))))
(global-set-key [remap kill-ring-save] 'copy-line-or-region)
(defun duplicate-current-line-or-region (arg)
"Duplicates the current line or region ARG times.
If there's no region, the current line will be duplicated. However, if
there's a region, all lines that region covers will be duplicated."
(interactive "p")
(let (beg end (origin (point)))
(if (and mark-active (> (point) (mark)))
(exchange-point-and-mark))
(setq beg (line-beginning-position))
(if mark-active
(exchange-point-and-mark))
(setq end (line-end-position))
(let ((region (buffer-substring-no-properties beg end)))
(dotimes (i arg)
(goto-char end)
(newline)
(beginning-of-visual-line)
(insert region)
(setq end (point)))
(goto-char (+ origin (* (length region) arg) arg)))))
(global-set-key (kbd "C-S-y") 'duplicate-current-line-or-region)
(defun create-snippet (filename)
(interactive "s")
(let ((mode (symbol-name major-mode)))
(find-file (format "C:/bin/.emacs.d/snippets/%s/%s" mode filename))
(snippet-mode)))
(global-set-key (kbd "M-'") 'create-snippet)
(defun move-text-internal (arg)
(cond
((and mark-active transient-mark-mode)
(if (> (point) (mark))
(exchange-point-and-mark))
(let ((column (current-column))
(text (delete-and-extract-region (point) (mark))))
(forward-line arg)
(move-to-column column t)
(set-mark (point))
(insert text)
(exchange-point-and-mark)
(setq deactivate-mark nil)))
(t
(beginning-of-line)
(when (or (> arg 0) (not (bobp)))
(forward-line)
(when (or (< arg 0) (not (eobp)))
(transpose-lines arg))
(forward-line -1)))))
(defun move-text-down (arg)
"Move region (transient-mark-mode active) or current line
arg lines down."
(interactive "*p")
(move-text-internal arg))
(defun move-text-up (arg)
"Move region (transient-mark-mode active) or current line
arg lines up."
(interactive "*p")
(move-text-internal (- arg)))
(global-set-key [\M-\S-up] 'move-text-up)
(global-set-key [\M-\S-down] 'move-text-down)
(defun my-setup-php ()
;; enable web mode
(web-mode)
;; make these variables local
(make-local-variable 'web-mode-code-indent-offset)
(make-local-variable 'web-mode-markup-indent-offset)
(make-local-variable 'web-mode-css-indent-offset)
;; set indentation, can set different indentation level for different code type
(setq web-mode-code-indent-offset 2)
(setq web-mode-css-indent-offset 2)
(setq web-mode-markup-indent-offset 2)
;; (flycheck-select-checker my-php)
;; (setq web-mode-ac-sources-alist
;; '(("php" . (ac-source-yasnippet ac-source-php-auto-yasnippets))
;; ("html" . (ac-source-emmet-html-aliases ac-source-emmet-html-snippets))
;; ("css" . (ac-source-css-property ac-source-emmet-css-snippets))))
(add-hook 'web-mode-before-auto-complete-hooks
'(lambda ()
(let ((web-mode-cur-language
(web-mode-language-at-pos)))
(if (string= web-mode-cur-language "php")
(yas-activate-extra-mode 'php-mode)
(yas-deactivate-extra-mode 'php-mode))
(if (string= web-mode-cur-language "css")
(setq emmet-use-css-transform t)
(setq emmet-use-css-transform nil)))))
(setq web-mode-ac-sources-alist
'(("css" . (ac-source-words-in-buffer
ac-source-css-property
ac-source-emmet-css-snippets))
("html" . (ac-source-emmet-html-aliases
ac-source-emmet-html-snippets
ac-source-words-in-buffer
ac-source-abbrev))
("php" . (ac-source-yasnippet
ac-source-php-auto-yasnippets
ac-source-words-in-buffer
ac-source-words-in-same-mode-buffers
ac-source-dictionary)))))
(add-to-list 'auto-mode-alist '("\\.php$" . my-setup-php))
;; global setk eys
;; (global-set-key (kbd "M-k") 'next-line)
;; (global-set-key (kbd "M-i") 'previous-line)
;; (global-set-key (kbd "M-j") 'backward-char)
;; (global-set-key (kbd "M-l") 'forward-char)
(global-set-key (kbd "C-x C-x") 'save-buffers-kill-terminal)
(global-set-key (kbd "C-o") 'er/expand-region)
(global-set-key (kbd "C-x f") 'fiplr-find-file)
(global-set-key (kbd "M-?") 'projectile-dired)
;; (global-set-key (kbd "C-c m") 'comment-region)
(global-set-key (kbd "C-.") 'imenu-anywhere)
(global-set-key (kbd "C-,") 'imenu)
;; Meta
(global-set-key "\M- " 'set-mark-command)
(global-set-key "\M-\C-h" 'backward-kill-word)
(global-set-key "\M-\C-r" 'query-replace)
(global-set-key "\M-r" 'replace-string)
(global-set-key "\M-g" 'goto-line)
(global-set-key "\M-h" 'help-command)
;; Function keys
(global-set-key [f1] 'manual-entry)
(global-set-key [f2] 'info)
(global-set-key [f3] 'repeat-complex-command)
(global-set-key [f4] 'undo)
(global-set-key [f5] 'eval-current-buffer)
(global-set-key [f6] 'buffer-menu)
(global-set-key [f7] 'other-window)
(global-set-key [f8] 'find-file)
(global-set-key [f9] 'save-buffer)
(global-set-key [f10] 'next-error)
(global-set-key [f11] 'grep)
(global-set-key [f12] 'kill-this-buffer)
;; (global-set-key [f11] 'compile)
;; (global-set-key [f12] 'grep)
(global-set-key [C-f1] 'compile)
(global-set-key [C-f2] 'grep)
(global-set-key [C-f3] 'next-error)
(global-set-key [C-f4] 'previous-error)
(global-set-key [C-f5] 'display-faces)
(global-set-key [C-f8] 'dired)
(global-set-key [C-f10] 'kill-compilation)
(define-key projectile-mode-map (kbd "M-/") 'projectile-find-file)
;; (define-key projectile-mode-map (kbd "M-/") 'helm-projectile)
;; ace-dump-mode
(autoload
'ace-jump-mode
"ace-jump-mode"
"Emacs quick move minor mode"
t)
(define-key global-map (kbd "C-c SPC") 'ace-jump-mode)
(set-frame-font "Source Code Pro-13")
(global-visual-line-mode t)
(delete-selection-mode t)
(blink-cursor-mode t)
(show-paren-mode t)
(setq make-backup-file nil)
(setq auto-save-default nil)
(setq inhibit-startup-message t)
(setq-default tab-width 2)
(setq-default indent-tabs-model nil)
(fset 'yes-or-no-p 'y-or-n-p)
(when (window-system)
(scroll-bar-mode -1)
(tool-bar-mode -1))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(custom-enabled-themes (quote (tango-dark))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'load-path "~/.emacs.d/")
(load "~/.emacs.d/workaround-mumamo-buffer-file-name-warnings.el")
(load "~/.emacs.d/nxhtml/autostart.el")
(setq inhibit-startup-screen t)
(setq w32shell-cygwin-bin "c:\\cygwin64\\bin")
(setq delete-by-moving-to-trash t)
(setq ido-enable-flex-matching t)
(setq fiplr-ignored-globs '((directories (".git" ".svn" ".idea")) (files ("*.jpg" "*.png" "*.zip" "*~"))))
(require 'w32shell)
(require 'recentf)
(w32shell-add-emacs)
(w32shell-set-shell "cygwin")
(projectile-global-mode)
(setq projectile-indexing-method 'alien)
(recentf-mode 1)
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)
(put 'dired-find-alternate-file 'disabled nil)
(ido-mode)
(server-start)
(global-set-key (kbd "C-x f") 'fiplr-find-file)
(add-hook 'prog-mode-hook
'(lambda ()
(yas-minor-mode)))
(yas-global-mode 1)
(setq yas-snippet-dirs '("~/.emacs.d/snippets"))
imenu+
imenu-anywhere
flycheck
see last evernotes
iedit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment