Last active
December 20, 2015 17:39
-
-
Save k4200/6170519 to your computer and use it in GitHub Desktop.
.emacs PHP関連の設定もうちょっと充実させて、ちゃんとバージョン管理する。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(put 'upcase-region 'disabled nil) | |
(add-to-list 'load-path (expand-file-name "~/.emacs.d/elisp")) | |
(add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install")) | |
;; key bindings | |
(global-set-key "\C-c\C-c" 'comment-or-uncomment-region) | |
(global-set-key (kbd "C-x <up>") 'windmove-up) | |
(global-set-key (kbd "C-x <down>") 'windmove-down) | |
(global-set-key (kbd "C-x <right>") 'windmove-right) | |
(global-set-key (kbd "C-x <left>") 'windmove-left) | |
;; Language | |
(set-language-environment "Japanese") | |
(set-default-coding-systems 'utf-8) | |
;; auto-install | |
(require 'auto-install) | |
(setq auto-install-directory "~/.emacs.d/auto-install/") ;Emacs Lispをインストールするディレクトリの指定 | |
(auto-install-update-emacswiki-package-name t) | |
(auto-install-compatibility-setup) ;install-elisp.elとコマンド名を同期 | |
;; grep-a-lot | |
(require 'grep-a-lot) | |
(grep-a-lot-setup-keys) | |
(grep-a-lot-advise igrep) | |
;; package.el | |
(require 'package) | |
(add-to-list 'package-archives | |
'("melpa" . "http://melpa.milkbox.net/packages/") t) | |
(package-initialize) | |
;; anything | |
(global-set-key (kbd "C-x a") 'anything) | |
;; auto-complete | |
(require 'auto-complete) | |
(require 'auto-complete-config) | |
(global-auto-complete-mode t) | |
(setq ac-auto-start t) | |
;; use clipboard | |
(setq x-select-enable-clipboard t) | |
;; auto indentation when yanking | |
(dolist (command '(yank yank-pop)) | |
(eval `(defadvice ,command (after indent-region activate) | |
(and (not current-prefix-arg) | |
(member major-mode '(emacs-lisp-mode lisp-mode scala-mode | |
php-mode html-mode | |
javascript-mode)) | |
(let ((mark-even-if-inactive transient-mark-mode)) | |
(indent-region (region-beginning) (region-end) nil)))))) | |
;; ;;;;;;;; scala ;;;;;;;;; | |
;; scala-mode2 | |
(unless (package-installed-p 'scala-mode2) | |
(package-refresh-contents) (package-install 'scala-mode2)) | |
;; sbt-mode | |
(unless (package-installed-p 'sbt-mode) | |
(package-refresh-contents) (package-install 'sbt-mode)) | |
;; load the ensime lisp code... | |
(add-to-list 'load-path "~/bin/ensime/elisp/") | |
(require 'ensime) | |
;; This step causes the ensime-mode to be started whenever | |
;; scala-mode is started for a buffer. You may have to customize this step | |
;; if you're not using the standard scala mode. | |
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook) | |
;; ;;;;;;;; PHP ;;;;;;;;; | |
;; php-mode | |
(require 'php-mode) | |
(add-hook 'php-mode-hook | |
(lambda() | |
(setq comment-start "// " | |
comment-end "" | |
comment-start-skip "// *") | |
(setq comment-use-syntax t))) | |
; indentation for array and switch-case | |
(add-hook 'php-mode-hook (lambda () | |
(defun ywb-php-lineup-arglist-intro (langelem) | |
(save-excursion | |
(goto-char (cdr langelem)) | |
(vector (+ (current-column) c-basic-offset)))) | |
(defun ywb-php-lineup-arglist-close (langelem) | |
(save-excursion | |
(goto-char (cdr langelem)) | |
(vector (current-column)))) | |
(c-set-offset 'case-label' 4) | |
(c-set-offset 'arglist-intro 'ywb-php-lineup-arglist-intro) | |
(c-set-offset 'arglist-close 'ywb-php-lineup-arglist-close))) | |
(setq php-mode-force-pear t) ;PEAR規約のインデント設定にする | |
(add-to-list 'auto-mode-alist '("\\.php$" . php-mode)) ;*.phpのファイルのときにphp-modeを自動起動する | |
;; ;;;;;; JavaScript ;;;;;;; | |
(setq js-indent-level 2) | |
(add-hook 'js-mode-hook (lambda () | |
(setq indent-tabs-mode nil))) | |
;; ;;;;;; HTML ;;;;;;; | |
(add-hook 'html-mode-hook (lambda () | |
(setq indent-tabs-mode nil))) | |
;; text-mode | |
(add-hook 'text-mode-hook | |
'(lambda () | |
; (setq indent-tabs-mode nil) | |
(electric-indent-local-mode -1) | |
(setq tab-width 4) | |
(setq indent-line-function (quote insert-tab)))) | |
; (setq tab-stop-list (number-sequence 4 120 4)) | |
; (setq indent-line-function 'tab-to-tab-stop))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment