Emacsの設定をはりつけておく。js2-modeの微妙な挙動に納得いかなくてTwitterでぼやいていたら、Twittererがelispを作成してくれた。Twittererありがとうありがとう。このためjs2-modeの動きが標準と若干違う。後は特別変わった設定はない。
js2-modeは標準では添付されていない。Google Codeにある.elファイルをダウンロードして、コンパイルをして.elcにする必要がある。
また、MacOSXでメジャーなCarbon Emacsのsite-lispディレクトリの位置は非常にわかりにくく、パッケージ内となっている。Carbon Emacsをアプリケーションフォルダ内に入れている場合、パスは「/Applications/Emacs.app/Contents/Resources/site-lisp」となる。
js2-modeは標準では添付されていない。Google Codeにある.elファイルをダウンロードして、コンパイルをして.elcにする必要がある。
また、MacOSXでメジャーなCarbon Emacsのsite-lispディレクトリの位置は非常にわかりにくく、パッケージ内となっている。Carbon Emacsをアプリケーションフォルダ内に入れている場合、パスは「/Applications/Emacs.app/Contents/Resources/site-lisp」となる。
.emacs
(setq load-path
(append
(list (expand-file-name "~/my-customize-lisp")) load-path))
(load "my-add-customize-js2-mode")
(load "my-add-customize-default")
(append
(list (expand-file-name "~/my-customize-lisp")) load-path))
(load "my-add-customize-js2-mode")
(load "my-add-customize-default")
~/my-customize-lisp/my-add-customize-js2-mode
;;;js2-mode
;;;http://sites.google.com/site/shidoinfo/Home/programing-lang/%E9%96%A2%E6%95%B0%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E/ecmascript/javascript-kai-fa-huan-jing/emacs-javascript/js2-mode
(autoload 'js2-mode "js2" nil t)
(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
;;;http://8-p.info/emacs-javascript.html
;;;http://gist.github.com/33833
;;;http://gist.github.com/33848
(setq-default c-basic-offset 4)
(add-hook 'js2-mode-hook
'(lambda ()
(setq js2-cleanup-whitespace nil
js2-bounce-indent-flag nil
tab-width 4)
(defun indent-and-back-to-indentation ()
(interactive)
(indent-for-tab-command)
(let ((point-of-indentation
(save-excursion
(back-to-indentation)
(point))))
(skip-chars-forward " \t" point-of-indentation)))
(define-key js2-mode-map "\C-i" 'indent-and-back-to-indentation)
(define-key js2-mode-map "\C-m" nil)
(js2-leave-mirror-mode)))
;;;http://sites.google.com/site/shidoinfo/Home/programing-lang/%E9%96%A2%E6%95%B0%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E/ecmascript/javascript-kai-fa-huan-jing/emacs-javascript/js2-mode
(autoload 'js2-mode "js2" nil t)
(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
;;;http://8-p.info/emacs-javascript.html
;;;http://gist.github.com/33833
;;;http://gist.github.com/33848
(setq-default c-basic-offset 4)
(add-hook 'js2-mode-hook
'(lambda ()
(setq js2-cleanup-whitespace nil
js2-bounce-indent-flag nil
tab-width 4)
(defun indent-and-back-to-indentation ()
(interactive)
(indent-for-tab-command)
(let ((point-of-indentation
(save-excursion
(back-to-indentation)
(point))))
(skip-chars-forward " \t" point-of-indentation)))
(define-key js2-mode-map "\C-i" 'indent-and-back-to-indentation)
(define-key js2-mode-map "\C-m" nil)
(js2-leave-mirror-mode)))
~/my-customize-lisp/my-add-customize-default
;;;C-hをDELに変更
(global-set-key "\C-h" 'backward-delete-char)
;;;大文字化[C-x C-u]・小文字化[C-x C-l]の時、問い合わせなしで実行
;;;http://masao.jpn.org/etc/.emacs.el
(put 'upcase-region 'disabled nil)
(put 'downcase-region 'disabled nil)
;;;ツールバーとメニューバーを非表示
(tool-bar-mode nil)
(menu-bar-mode nil)
(global-set-key "\C-h" 'backward-delete-char)
;;;大文字化[C-x C-u]・小文字化[C-x C-l]の時、問い合わせなしで実行
;;;http://masao.jpn.org/etc/.emacs.el
(put 'upcase-region 'disabled nil)
(put 'downcase-region 'disabled nil)
;;;ツールバーとメニューバーを非表示
(tool-bar-mode nil)
(menu-bar-mode nil)