Skip to content

Instantly share code, notes, and snippets.

@h-hirai
Last active September 4, 2018 04:17
Show Gist options
  • Save h-hirai/176797 to your computer and use it in GitHub Desktop.
Save h-hirai/176797 to your computer and use it in GitHub Desktop.
My .emacs
;; ~/.emacs.d/init.el
;; basic editing
(defun scroll-n-lines-ahead (&optional n)
"Scroll ahead N lines (1 by default)."
(interactive "P")
(scroll-up (prefix-numeric-value n)))
(defun scroll-n-lines-behind (&optional n)
"Scroll behind N lines (1 by default)."
(interactive "P")
(scroll-down (prefix-numeric-value n)))
(global-set-key [?\C-,] 'scroll-n-lines-behind)
(global-set-key [?\C-.] 'scroll-n-lines-ahead)
(setq scroll-conservatively 10)
(setq scroll-step 1)
(setq scroll-margin 10)
(global-set-key "\C-h" 'backward-delete-char)
(global-set-key "\M-h" 'help-command)
(define-key isearch-mode-map "\C-k" 'isearch-edit-string)
(setq-default mouse-yank-at-point t)
;; for OS X
(define-key global-map [?¥] [?\\])
;; auto editing
(setq-default indent-tabs-mode nil)
;; viewing
(setq visible-bell t)
(transient-mark-mode 1)
(show-paren-mode 1)
(blink-cursor-mode -1)
(setq-default show-trailing-whitespace t)
(tool-bar-mode 0)
(menu-bar-mode 0)
;; for Windows7
;; http://misohena.jp/blog/2017-09-26-symbol-font-settings-for-emacs25.html
;; デフォルトはASCII用のフォントでなければダメっぽい。
(set-face-attribute 'default nil :family "Consolas" :height 120)
;; ASCII以外のUnicodeコードポイント全部を一括で設定する。
(set-fontset-font nil '(#x80 . #x10ffff) (font-spec :family "Meiryo UI"))
;; 記号をデフォルトのフォントにしない。(for Emacs 25.2)
(setq use-default-font-for-symbols nil)
;; http://d.hatena.ne.jp/yusat/20100615
;; (cond
;; (window-system
;; (add-to-list 'default-frame-alist (cons 'font "Courier New-10"))
;; (set-fontset-font
;; (frame-parameter nil 'font)
;; 'japanese-jisx0208
;; (font-spec :family "Meiryo" :size 12))))
;; misc
(setq-default make-backup-files nil)
(setq auto-save-default nil)
(setq completion-ignore-case t)
(setq read-file-name-completion-ignore-case t)
(setq read-buffer-completion-ignore-case t)
(setq inhibit-startup-message t)
(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)
(put 'narrow-to-region 'disabled nil)
(put 'narrow-to-page 'disabled nil)
;; major modes
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
(package-refresh-contents)
; (package-install 'helm)
(require 'helm-config)
(helm-mode 1)
(define-key helm-map (kbd "C-h") 'delete-backward-char)
(define-key helm-find-files-map (kbd "C-h") 'delete-backward-char)
(define-key helm-find-files-map (kbd "TAB") 'helm-execute-persistent-action)
(define-key helm-read-file-map (kbd "TAB") 'helm-execute-persistent-action)
(define-key global-map (kbd "C-;") 'helm-mini)
;; haskell-mode
;; https://gist.github.com/vvakame/4168457
(add-to-list 'load-path "~/.emacs.d/el-get/haskell-mode")
(add-to-list
'load-path
"C:/Documents and Settings/hirai/Application Data/cabal/ghc-mod-1.12.4")
(require 'haskell-mode)
(require 'inf-haskell)
(add-to-list 'auto-mode-alist '("\\.[hg]s$" . haskell-mode))
(custom-set-variables
'(haskell-mode-hook '(turn-on-haskell-indentation)))
(autoload 'ghc-init "ghc" nil t)
(add-hook 'haskell-mode-hook (lambda () (ghc-init) (flymake-mode)))
;; cc-mode
;; http://stackoverflow.com/questions/3312114/how-to-tell-emacs-to-open-h-file-in-c-mode
(defun c-c++-header ()
"sets either c-mode or c++-mode, whichever is appropriate for header"
(interactive)
(let ((c-file (concat (substring (buffer-file-name) 0 -1) "c")))
(if (file-exists-p c-file)
(c-mode)
(c++-mode))))
(add-to-list 'auto-mode-alist '("\\.h\\'" . c-c++-header))
;; verilog-mode
(setq verilog-indent-level 2
verilog-indent-level-module 2
verilog-indent-level-declaration 2
verilog-indent-level-behavioral 2
verilog-indent-level-directive 1
verilog-case-indent 2
verilog-auto-newline nil
verilog-auto-indent-on-newline nil
verilog-tab-always-indent t
verilog-auto-endcomments nil
verilog-highlight-p1800-keywords nil
)
;; scheme-mode
(setq scheme-program-name "gosh -i")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment