Created
November 3, 2016 12:24
-
-
Save kzfm/07a1d425765629ccc00649dc4147b618 to your computer and use it in GitHub Desktop.
my init.el
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
;;; ロードパスの追加 | |
(setq load-path (append | |
'("~/.emacs.d" | |
"~/.emacs.d/packages/emacs-jedi" | |
G "~/.emacs.d/packages/json-mode" | |
"~/.emacs.d/auto-install" | |
"~/.emacs.d/conf") | |
load-path)) | |
;;; packages.el | |
(require 'package) | |
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) | |
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) | |
(package-initialize) | |
;;; auto-install.el | |
(require 'auto-install) | |
(auto-install-compatibility-setup) | |
; 言語を日本語にする | |
(set-language-environment 'Japanese) | |
; 極力UTF-8とする | |
(prefer-coding-system 'utf-8) | |
;; env | |
;(setq exec-path (cons "/Users/kzfm/.nvm/v0.8.10/bin:/usr/local/bin" exec-path)) | |
(setenv "PATH" | |
(concat "/Users/kzfm/.nvm/v0.8.10/bin:/usr/local/share/python:/Users/kzfm/bin:/usr/local/bin:/Users/kzfm/Library/Haskell/bin:/Users/kzfm/.rbenv/versions/1.9.3-p286/bin:" (getenv "PATH"))) | |
(dolist (path (reverse (split-string (getenv "PATH") ":"))) | |
(add-to-list 'exec-path path t)) | |
(when (>= emacs-major-version 23) | |
(set-face-attribute 'default nil | |
:family "monaco" | |
:height 140) | |
(set-fontset-font | |
(frame-parameter nil 'font) | |
'japanese-jisx0208 | |
'("Hiragino Maru Gothic Pro" . "iso10646-1")) | |
(set-fontset-font | |
(frame-parameter nil 'font) | |
'japanese-jisx0212 | |
'("Hiragino Maru Gothic Pro" . "iso10646-1")) | |
(set-fontset-font | |
(frame-parameter nil 'font) | |
'mule-unicode-0100-24ff | |
'("monaco" . "iso10646-1")) | |
(setq face-font-rescale-alist | |
'(("^-apple-hiragino.*" . 1.2) | |
(".*osaka-bold.*" . 1.2) | |
(".*osaka-medium.*" . 1.2) | |
(".*courier-bold-.*-mac-roman" . 1.0) | |
(".*monaco cy-bold-.*-mac-cyrillic" . 0.9) | |
(".*monaco-bold-.*-mac-roman" . 0.9) | |
("-cdac$" . 1.3)))) | |
;; keyboard bindings | |
(define-key global-map (kbd "C-h") 'delete-backward-char) | |
(define-key global-map (kbd "M-?") 'help-for-help) | |
(define-key global-map (kbd "M-C-g") 'grep) | |
; Magit rules! | |
;(global-set-key (kbd "C-x g") 'magit-status) | |
; 動的略語展開 | |
(define-key global-map "\C-o" 'dabbrev-expand) | |
;; key-chord | |
(require 'key-chord) | |
(key-chord-mode 1) | |
(key-chord-define-global "ms" 'magit-status) | |
(key-chord-define-global "jk" 'delete-window) | |
;;; 再帰的にgrep | |
(require 'grep) | |
(setq grep-command-before-query "grep -nH -r -e ") | |
(defun grep-default-command () | |
(if current-prefix-arg | |
(let ((grep-command-before-target | |
(concat grep-command-before-query | |
(shell-quote-argument (grep-tag-default))))) | |
(cons (if buffer-file-name | |
(concat grep-command-before-target | |
" *." | |
(file-name-extension buffer-file-name)) | |
(concat grep-command-before-target " .")) | |
(+ (length grep-command-before-target) 1))) | |
(car grep-command))) | |
(setq grep-command (cons (concat grep-command-before-query " .") | |
(+ (length grep-command-before-query) 1))) | |
;; recentf | |
(setq recentf-max-saved-items 5000) | |
(require 'recentf-ext) | |
(global-set-key "\C-]" 'recentf-open-files) | |
;; auto-complete | |
(require 'auto-complete) | |
(global-auto-complete-mode t) | |
(define-key ac-complete-mode-map "\C-n" 'ac-next) | |
(define-key ac-complete-mode-map "\C-p" 'ac-previous) | |
;; http://d.hatena.ne.jp/TakashiHattori/20120629/1340942555 | |
(add-hook 'emacs-startup-hook | |
(function (lambda () | |
(require 'auto-complete-config) | |
(ac-config-default)))) | |
;; custom-theme | |
(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. | |
'(ansi-color-names-vector ["#242424" "#e5786d" "#95e454" "#cae682" "#8ac6f2" "#333366" "#ccaa8f" "#f6f3e8"]) | |
'(custom-enabled-themes (quote (manoj-dark))) | |
'(safe-local-variable-values (quote ((encoding . utf-8))))) | |
(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. | |
'(font-lock-function-name-face ((t (:foreground "mediumspringgreen" :weight normal :height 1.0))))) | |
;; ignore active-process | |
(defadvice save-buffers-kill-emacs (around no-query-kill-emacs activate) | |
"Prevent annoying \"Active processes exist\" query when you quit Emacs." | |
(flet ((process-list ())) ad-do-it)) | |
;; JSON | |
(require 'json-mode) | |
(add-to-list 'auto-mode-alist '("\\.tss$" . json-mode)) | |
(add-hook 'json-mode-hook 'electric-pair-mode) | |
(add-hook 'json-mode-hook '(lambda () | |
(setq js-indent-level 2) | |
)) | |
;; other settings | |
(load "conf/init-common") | |
(load "conf/init-python") | |
;(load "conf/init-coffee") | |
;(load "conf/init-sgml") | |
;(load "conf/init-scss") | |
(load "conf/init-flymake") | |
;(load "conf/init-haskell") | |
;;; | |
;;; emacs起動時のwelcome ぽい画面を表示しない | |
(setq inhibit-splash-screen t) | |
;;; メタキーとoption入れ替え | |
(setq ns-command-modifier (quote meta)) | |
(setq ns-alternate-modifier (quote super)) | |
;(set-keyboard-coding-system nil) | |
;(setq mac-command-key-is-meta t) | |
;;; メニューバーとツールバーの非表示 | |
(menu-bar-mode nil) | |
(tool-bar-mode nil) | |
(display-time-mode t) ; 時間の表示 | |
(line-number-mode t) ; 行番号の表示 | |
(column-number-mode t) ; 列番号の表示 | |
;(display-battery-mode t) ; バッテリー残量の表示 | |
(setq ring-bell-function (lambda ())) ; ビープを無効化し画面のちらつきも防ぐ | |
(set-frame-parameter (selected-frame) 'alpha '(80 40)) | |
;;; 行番号表示 | |
(global-linum-mode t) | |
(setq linum-format "%4d") | |
;;; max-frame | |
;(require 'maxframe) | |
;(add-hook 'window-setup-hook 'maximize-frame t) | |
(set-frame-size (selected-frame) 150 40) | |
;; 括弧の対応をハイライト. | |
(show-paren-mode t) | |
;; BS で選択範囲を消す | |
(delete-selection-mode t) | |
;;ビープ音を消す | |
;;(setq ring-bell-function 'ignore) | |
;;リージョン色づけ | |
(setq transient-mark-mode t) | |
;;一行カット | |
(setq kill-whole-line t) | |
;; iswitch | |
(iswitchb-mode 1) | |
;; indent | |
(setq-default indent-tabs-mode nil) | |
;; buffer | |
(global-set-key "\C-x\C-b" 'buffer-menu) | |
;; 画面分割 | |
(defun other-window-or-split () | |
(interactive) | |
(when (one-window-p) | |
(split-window-horizontally)) | |
(other-window 1)) | |
(global-set-key (kbd "<C-tab>") 'other-window-or-split) | |
;; expand-region | |
(global-set-key (kbd "C-=") 'er/expand-region) | |
(global-set-key (kbd "C-M-=") 'er/contract-region) | |
;; transient-mark-modeが nilでは動作しませんので注意 | |
(transient-mark-mode t) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment