「MacOSX WorkShop/dot emacs el」の版間の差分
細 (→参考したサイト) |
|||
(同じ利用者による、間の11版が非表示) | |||
行13: | 行13: | ||
*inline-patch や transparency patch 等 upstream で仕様が今後も変更される確率が高く、且つ、OSXWS としてのデフォルトなど基本的な設定は、site-start.d 内で行う。 | *inline-patch や transparency patch 等 upstream で仕様が今後も変更される確率が高く、且つ、OSXWS としてのデフォルトなど基本的な設定は、site-start.d 内で行う。 | ||
− | == OSXWS-10. | + | == OSXWS-10.11-1 の変更点 == |
+ | * OSXWS-10.9-1 からの変更はありません。 | ||
− | + | == OSXWS-10.11-x の emacs 設定ファイル == | |
− | ユーザーの初期設定ファイルを読む直前に osxws.el がロードされる:"/ | + | ユーザーの初期設定ファイルを読む直前に osxws.el がロードされる:"/osx/osxws/share/emacs/site-lisp/emacs-lisps/osxws.el" |
<pre> | <pre> | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
行30: | 行31: | ||
(setq emacs-build-system | (setq emacs-build-system | ||
− | (concat emacs-build-system " - MacOS X WorkShop - 10. | + | (concat |
+ | emacs-build-system | ||
+ | " - MacOS X WorkShop - 10.11 ")) | ||
− | (setq report-emacs-bug-address "osxws@ | + | (setq report-emacs-bug-address "osxws@xxxxxxxxxxxx") |
(defcustom osxws-default t | (defcustom osxws-default t | ||
行42: | 行45: | ||
:type 'boolean) | :type 'boolean) | ||
− | (defcustom osxws-default- | + | (defcustom osxws-default-language-auto t |
− | "A boolean for loading osxws-setting section 1 (language | + | "A boolean for loading osxws-setting section 1 (language auto detect)" |
:type 'boolean) | :type 'boolean) | ||
行83: | 行86: | ||
(when osxws-default | (when osxws-default | ||
(message "Starting osxws-default ...") | (message "Starting osxws-default ...") | ||
− | (load-file "/ | + | (load-file "/opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default.el") |
(if osxws-default-yatex | (if osxws-default-yatex | ||
− | (load-file "/ | + | (load-file "/opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default-yatex.el") |
− | + | ) | |
+ | ) | ||
(setq custom-file "~/.emacs.d/custom_osxws.el") | (setq custom-file "~/.emacs.d/custom_osxws.el") | ||
行93: | 行97: | ||
;; Local Variables: | ;; Local Variables: | ||
;; mode: emacs-lisp | ;; mode: emacs-lisp | ||
− | ;; buffer-file-coding-system: | + | ;; buffer-file-coding-system: junet-unix |
;; End: | ;; End: | ||
</pre> | </pre> | ||
行107: | 行111: | ||
;; MacOS X WorkShop provides the default setting for Emacs. | ;; MacOS X WorkShop provides the default setting for Emacs. | ||
;; The setting is written in the following file: | ;; The setting is written in the following file: | ||
− | ;; / | + | ;; /opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default.el |
;; | ;; | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
行119: | 行123: | ||
;; the variables osxws-defaul-* to nil. | ;; the variables osxws-defaul-* to nil. | ||
;;(setq osxws-default-base nil) | ;;(setq osxws-default-base nil) | ||
− | ;;(setq osxws-default- | + | ;;(setq osxws-default-language-auto nil) |
;;(setq osxws-default-appearance nil) | ;;(setq osxws-default-appearance nil) | ||
;;(setq osxws-default-keyboard nil) | ;;(setq osxws-default-keyboard nil) | ||
行165: | 行169: | ||
(require 'color-theme) | (require 'color-theme) | ||
(color-theme-dark-blue2) | (color-theme-dark-blue2) | ||
+ | |||
;; Transparency3 | ;; Transparency3 | ||
(add-to-list | (add-to-list | ||
'default-frame-alist | 'default-frame-alist | ||
'(alpha . (100 80))) ;; (alpha . (<active frame> <non active frame>)) | '(alpha . (100 80))) ;; (alpha . (<active frame> <non active frame>)) | ||
+ | |||
+ | ;; Save GUI Emacs frame size and position. | ||
+ | ;; Restore the size and position when you launch Emacs. | ||
+ | (require 'save-frame-posize) | ||
) | ) | ||
;; input special and control characters by "Option" | ;; input special and control characters by "Option" | ||
− | + | (setq ns-option-modifier 'none) | |
+ | |||
+ | ;; cursor mode | ||
+ | (setq blink-cursor-interval 0.5) | ||
+ | (setq blink-cursor-delay 5.0) | ||
+ | (blink-cursor-mode 1) <--- 点滅を止める時は -1 に設定 | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
行181: | 行195: | ||
</pre> | </pre> | ||
− | デフォルト設定のファイル:"/ | + | デフォルト設定のファイル:"/opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default.el" |
<pre> | <pre> | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
;; osxws-default.el for MacOS X WorkShop | ;; osxws-default.el for MacOS X WorkShop | ||
− | ;; Time-stamp: | + | ;; Time-stamp: |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; Section 0 fundamental configurations | + | ;;;; Section 0 fundamental configurations |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
(when osxws-default-base | (when osxws-default-base | ||
− | ;; path setting | + | ;;;; path setting |
(setq exec-path | (setq exec-path | ||
(append | (append | ||
− | (list "/ | + | (list "/opt/osxws/bin" "~/bin") exec-path)) |
(setenv "PATH" | (setenv "PATH" | ||
− | (concat '"/ | + | (concat '"/opt/osxws/bin:~/bin:" (getenv "PATH"))) |
− | ;; save the position before you editing. | + | ;;; save the position before you editing. |
(require 'saveplace) | (require 'saveplace) | ||
(setq-default save-place t) | (setq-default save-place t) | ||
(setq save-place-file "~/Library/Application Support/OSXWS/emacs-places.txt") | (setq save-place-file "~/Library/Application Support/OSXWS/emacs-places.txt") | ||
− | ;; copy foo to foo~ as a backup file | + | ;;; copy foo to foo~ as a backup file |
(setq backup-by-copying t) | (setq backup-by-copying t) | ||
− | ;; deleting files goes to OS's trash folder | + | |
+ | ;;; yank text with mouse | ||
+ | (setq mouse-drag-copy-region t) | ||
+ | |||
+ | ;;; deleting files goes to OS's trash folder | ||
;;(setq delete-by-moving-to-trash t) | ;;(setq delete-by-moving-to-trash t) | ||
− | ;; start emacsclient server | + | ;;(setq trash-directory "~/.Trash") |
− | + | ||
+ | ;;; start emacsclient server if in window mode | ||
+ | (if window-system | ||
+ | (progn | ||
+ | (require 'server) | ||
+ | (unless (server-running-p) (server-start)))) | ||
) | ) | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; Section 1 language configurations | + | ;;;; Section 1 language configurations (auto detect) |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | (when osxws-default- | + | (setq appleLang |
− | ;; japanese settings for Cocoa Emacs | + | (shell-command-to-string |
− | (set-language-environment 'Japanese) | + | "/bin/echo -n `/usr/bin/defaults read -g AppleLocale | cut -f 1 -d _`")) |
+ | |||
+ | (when osxws-default-language-auto | ||
+ | ;;; japanese settings for Cocoa Emacs | ||
+ | (cond ((string-match appleLang "ja") (set-language-environment 'Japanese)) | ||
+ | ((string-match appleLang "en") (set-language-environment 'English)) | ||
+ | ((string-match appleLang "fr") (set-language-environment 'French)) | ||
+ | ((string-match appleLang "de") (set-language-environment 'German)) | ||
+ | ((string-match appleLang "es") (set-language-environment 'Spanish)) | ||
+ | ((string-match appleLang "it") (set-language-environment 'Italian)) | ||
+ | ((string-match appleLang "nl") (set-language-environment 'Dutch)) | ||
+ | ((string-match appleLang "sv") (set-language-environment 'Swedish)) | ||
+ | (t (set-language-environment 'English))) | ||
(prefer-coding-system 'utf-8-unix) | (prefer-coding-system 'utf-8-unix) | ||
) | ) | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; Section 2 appearance setting | + | ;;;; Section 2 appearance setting |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
(when osxws-default-appearance | (when osxws-default-appearance | ||
− | ;; hide tool-bar and menu-bar | + | ;;; hide tool-bar and menu-bar |
(if window-system | (if window-system | ||
(tool-bar-mode 0) | (tool-bar-mode 0) | ||
(menu-bar-mode 0)) | (menu-bar-mode 0)) | ||
− | + | ||
− | ;; show the corresponding paren | + | ;;; show the corresponding paren |
(show-paren-mode) | (show-paren-mode) | ||
− | ;; do not font scaling | + | ;;; do not font scaling |
(setq scalable-fonts-allowed nil) | (setq scalable-fonts-allowed nil) | ||
− | + | ||
;;; show the present time on status bar | ;;; show the present time on status bar | ||
(when (equal current-language-environment "Japanese") | (when (equal current-language-environment "Japanese") | ||
− | + | (setq dayname-j-alist | |
− | + | '(("Sun" . "日") ("Mon" . "月") | |
− | + | ("Tue" . "火") ("Wed" . "水") | |
− | + | ("Thu" . "木") ("Fri" . "金") | |
− | + | ("Sat" . "土"))) | |
− | + | (setq display-time-string-forms | |
− | + | '((format "%s年%s月%s日(%s) %s:%s %s" | |
− | + | year month day | |
− | + | (cdr (assoc dayname dayname-j-alist)) | |
− | + | 24-hours minutes | |
− | + | load)))) | |
− | + | (display-time) | |
− | + | ) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; Section 3 keyboard/keybinding | + | ;;;; Section 3 keyboard/keybinding |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
(when osxws-default-keyboard | (when osxws-default-keyboard | ||
− | ;; emulation of the standard CUA key bindings (Mac GUI) | + | ;;; emulation of the standard CUA key bindings (Mac GUI) |
(cua-selection-mode t) | (cua-selection-mode t) | ||
− | + | ||
− | ;; behavior of "Command + Cursor" to the default of MacOS X | + | ;;; behavior of "Command + Cursor" to the default of MacOS X |
− | ;; default : ns-next-frame in ns-win.el | + | ;;; default : ns-next-frame in ns-win.el |
(define-key global-map [s-left] 'move-beginning-of-line) | (define-key global-map [s-left] 'move-beginning-of-line) | ||
− | ;; default : ns-prev-frame in ns-win.el | + | ;;; default : ns-prev-frame in ns-win.el |
(define-key global-map [s-right] 'move-end-of-line) | (define-key global-map [s-right] 'move-end-of-line) | ||
(define-key global-map [s-up] 'backward-page) | (define-key global-map [s-up] 'backward-page) | ||
(define-key global-map [s-down] 'forward-page) | (define-key global-map [s-down] 'forward-page) | ||
− | + | ||
− | ;; font resize short cut (Command +/-/0) | + | ;;; font resize short cut (Command +/-/0) |
(global-set-key [(s ?+)] (lambda () (interactive) (text-scale-increase 1))) | (global-set-key [(s ?+)] (lambda () (interactive) (text-scale-increase 1))) | ||
(global-set-key [(s ?-)] (lambda () (interactive) (text-scale-decrease 1))) | (global-set-key [(s ?-)] (lambda () (interactive) (text-scale-decrease 1))) | ||
(global-set-key [(s ?0)] (lambda () (interactive) (text-scale-increase 0))) | (global-set-key [(s ?0)] (lambda () (interactive) (text-scale-increase 0))) | ||
+ | |||
+ | ;;; revert [Home] Key and [End] Key | ||
+ | (define-key global-map [home] 'beginning-of-buffer) | ||
+ | (define-key global-map [end] 'end-of-buffer) | ||
− | ;; Delete the following character by fn + delete | + | ;;; Delete the following character by fn + delete |
(define-key global-map [kp-delete] 'delete-char) | (define-key global-map [kp-delete] 'delete-char) | ||
− | ;; | + | ;;; fix yen key problem on JIS keyboard |
− | ;; Ando-san's code (see [Macemacsjp-users 1126]) | + | ;;; Ando-san's code (see [Macemacsjp-users 1126]) |
(define-key global-map [2213] nil) | (define-key global-map [2213] nil) | ||
(define-key global-map [67111077] nil) | (define-key global-map [67111077] nil) | ||
行293: | 行332: | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; Section 4 shell-command | + | ;;;; Section 4 shell-command |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
(when osxws-default-shell | (when osxws-default-shell | ||
− | ;; hide password | + | ;;; hide password |
(add-hook 'comint-output-filter-functions | (add-hook 'comint-output-filter-functions | ||
'comint-watch-for-password-prompt) | 'comint-watch-for-password-prompt) | ||
− | ;; escape sequence | + | ;;; escape sequence |
(autoload 'ansi-color-for-comint-mode-on "ansi-color" | (autoload 'ansi-color-for-comint-mode-on "ansi-color" | ||
"Set `ansi-color-for-comint-mode' to t." t) | "Set `ansi-color-for-comint-mode' to t." t) | ||
行308: | 行347: | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; Section 5 inline-patch by Hashimoto-san | + | ;;;; Section 5 inline-patch by Hashimoto-san |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
行321: | 行360: | ||
(mac-set-input-method-parameter "com.apple.inputmethod.Kotoeri.Japanese" `cursor-color "red")) | (mac-set-input-method-parameter "com.apple.inputmethod.Kotoeri.Japanese" `cursor-color "red")) | ||
− | ;; start up by Command-Space | + | ;;; start up by Command-Space |
(global-set-key [(s \ )] 'toggle-input-method) | (global-set-key [(s \ )] 'toggle-input-method) | ||
− | ;; start up by Shift-Space | + | ;;; start up by Shift-Space |
(global-set-key [?\S-\ ] 'toggle-input-method) | (global-set-key [?\S-\ ] 'toggle-input-method) | ||
) | ) | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; Section 6 CocoaEmacs window mode | + | ;;;; Section 6 CocoaEmacs window mode |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
(when osxws-default-cocoaemacs | (when osxws-default-cocoaemacs | ||
(when window-system | (when window-system | ||
− | ;; | + | ;;;; Font setting |
− | ( | + | (set-frame-font "Inconsolata 16") |
− | + | (set-fontset-font (frame-parameter nil 'font) | |
− | + | 'unicode | |
− | + | '("ヒラギノ丸ゴ ProN" . "unicode-bmp") nil 'append) | |
− | + | (add-to-list 'default-frame-alist '(font . "Inconsolata 16")) | |
− | + | ||
− | + | ;;;; smart-dnd | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | ;; | + | |
− | + | ||
(require 'smart-dnd) | (require 'smart-dnd) | ||
− | ;; yahtml-mode: | + | ;;; yahtml-mode: |
(add-hook | (add-hook | ||
'yahtml-mode-hook | 'yahtml-mode-hook | ||
行372: | 行395: | ||
(".*" . "<a href=\"%R\">%f</a>\n"))))) | (".*" . "<a href=\"%R\">%f</a>\n"))))) | ||
− | ;; yatex-mode: | + | ;;; yatex-mode: |
(add-hook | (add-hook | ||
'yatex-mode-hook | 'yatex-mode-hook | ||
行389: | 行412: | ||
("\\.bib\\'" . "\\bibliography{%n}\n"))))) | ("\\.bib\\'" . "\\bibliography{%n}\n"))))) | ||
− | ;; C/C++ mode: | + | ;;; C/C++ mode: |
(add-hook | (add-hook | ||
'c-mode-common-hook | 'c-mode-common-hook | ||
'(lambda () (smart-dnd-setup '(("\\.h\\'" . "#include <%f>"))))) | '(lambda () (smart-dnd-setup '(("\\.h\\'" . "#include <%f>"))))) | ||
− | |||
) | ) | ||
) | ) | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; Section 7 anything else | + | ;;;; Section 7 anything else |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
(when osxws-default-else | (when osxws-default-else | ||
− | ;; The number of lines to scroll a window by when point moves out | + | ;;; The number of lines to scroll a window by when point moves out. |
(setq scroll-step 1) | (setq scroll-step 1) | ||
− | ;; Time Stamp | + | ;;;; Time Stamp |
− | ;; If you put 'Time-stamp: <>' or 'Time-stamp: ""' on | + | ;;; If you put 'Time-stamp: <>' or 'Time-stamp: ""' on |
− | ;; top 8 lines of the file, the '<>' or '""' are filled with the date | + | ;;; top 8 lines of the file, the '<>' or '""' are filled with the date |
− | ;; at saving the file. | + | ;;; at saving the file. |
(require 'time-stamp) | (require 'time-stamp) | ||
(if (not (memq 'time-stamp write-file-functions)) | (if (not (memq 'time-stamp write-file-functions)) | ||
(setq write-file-functions | (setq write-file-functions | ||
(cons 'time-stamp write-file-functions))) | (cons 'time-stamp write-file-functions))) | ||
+ | |||
+ | ;;;; Auto Complete Mode | ||
+ | (require 'auto-complete-config) | ||
+ | (ac-config-default) | ||
+ | (add-to-list 'ac-dictionary-directories "/opt/osxws/share/emacs/site-lisp/emacs-lisps/ac-dict") | ||
+ | |||
+ | ;;; text-to-speech by say: sentence | ||
+ | (defun osxws-speech (b e) | ||
+ | "Convert text to audible speech by /usr/bin/say of OSX." | ||
+ | (interactive "r") | ||
+ | (let (str) | ||
+ | (if (eq mark-active 'nil) | ||
+ | (progn (setq b1 (save-excursion (re-search-backward "^\\ *%") | ||
+ | (point))) | ||
+ | (setq b2 (save-excursion (re-search-backward "^\n") | ||
+ | (point))) | ||
+ | (setq e1 (save-excursion (re-search-forward "^\\ *%") | ||
+ | (point))) | ||
+ | (setq e2 (save-excursion (re-search-forward "^\n") | ||
+ | (point))) | ||
+ | (setq b (if (< b1 b2) b2 t b1)) | ||
+ | (setq e (if (> e1 e2) e2 t e1)))) | ||
+ | (setq str (buffer-substring-no-properties b e)) | ||
+ | (setq str (replace-regexp-in-string "\\\\%" "percent" str)) | ||
+ | (setq str (replace-regexp-in-string "%[^\n]*" "" str)) | ||
+ | (setq str (replace-regexp-in-string "\\\\[a-zA-Z]+{" " " str)) | ||
+ | (setq str (replace-regexp-in-string "[$_^\n()~{}|;`]" " " str)) | ||
+ | (setq str (replace-regexp-in-string "\\ +" " " str)) | ||
+ | (message str) | ||
+ | (if (eq (process-status "speech") 'run) | ||
+ | (delete-process "speech") | ||
+ | (process-kill-without-query | ||
+ | (start-process-shell-command "speech" nil | ||
+ | "/usr/bin/say " (concat "\"" str "\"" )))))) | ||
+ | |||
+ | ;;; text-to-speech by say: word | ||
+ | (defun osxws-speech-word() | ||
+ | "Speak words." | ||
+ | (interactive) | ||
+ | (let* ((str (url-hexify-string (string-word-or-region)))) | ||
+ | (process-kill-without-query | ||
+ | (start-process-shell-command "speech" nil | ||
+ | "/usr/bin/say -r 150" (concat "\"" str "\"" ))))) | ||
+ | |||
+ | ;;; Search marked region by google | ||
+ | (defun osxws-search-google() | ||
+ | "Search marked region by google" | ||
+ | (interactive) | ||
+ | (let* ((str (string-word-or-region))) | ||
+ | (browse-url | ||
+ | (concat "http://google.com/search?q=\"" str "\"")))) | ||
+ | |||
+ | ;;; Search marked region by google scholar | ||
+ | (defun osxws-search-googlescholar() | ||
+ | "Search string by google scholar" | ||
+ | (interactive) | ||
+ | (let* ((str (string-word-or-region))) | ||
+ | (browse-url | ||
+ | (concat "http://scholar.google.com/scholar?q=\"" str "\"")))) | ||
+ | |||
+ | ;;; "Look up the word by Dictionary.app of Mac OS X" | ||
+ | ;;; http://sakito.jp/mac/dictionary.html | ||
+ | (defun osxws-lookup-dictionary-osx() | ||
+ | "Look up the word by Dictionary.app of Mac OS X" | ||
+ | (interactive) | ||
+ | (let* ((str (url-hexify-string (string-word-or-region)))) | ||
+ | (browse-url (concat "dict://" str )))) | ||
+ | |||
+ | (defun string-word-or-region () | ||
+ | "If a region is selected, the text string of the region is returned. | ||
+ | Otherwise, the text string of the word is returnd." | ||
+ | (let ((editable (not buffer-read-only)) | ||
+ | (pt (save-excursion (mouse-set-point last-nonmenu-event))) | ||
+ | beg end) | ||
+ | (if (and mark-active | ||
+ | (<= (region-beginning) pt) (<= pt (region-end)) ) | ||
+ | (setq beg (region-beginning) | ||
+ | end (region-end)) | ||
+ | (save-excursion | ||
+ | (goto-char pt) | ||
+ | (backward-char 1) | ||
+ | (setq end (progn (forward-word) (point))) | ||
+ | (setq beg (progn (backward-word) (point))))) | ||
+ | (buffer-substring-no-properties beg end))) | ||
+ | |||
+ | |||
+ | ;;; Show in Finder | ||
+ | (defun osxws-show-in-finder () | ||
+ | (interactive) | ||
+ | (process-kill-without-query | ||
+ | (start-process-shell-command "Show in Finder" nil "open -R" (buffer-file-name)))) | ||
+ | |||
+ | ;;; Open current working directory by Finder | ||
+ | (defun osxws-open-folder-in-finder () | ||
+ | "open -a Finder.app CURRENT-DIRECTORY" | ||
+ | (interactive) | ||
+ | (process-query-on-exit-flag | ||
+ | (start-process-shell-command "open folder in Finder" nil "open ."))) | ||
+ | |||
+ | ;;; Open current working directory by Terminal/iTerm | ||
+ | (defun osxws-open-Terminal() | ||
+ | "open -a Terminal.app CURRENT-DIRECTORY" | ||
+ | (interactive) | ||
+ | (let* (;;(cmd "open -a Terminal.app") | ||
+ | (cmd "open -a iTerm.app")) | ||
+ | (process-kill-without-query | ||
+ | (start-process-shell-command | ||
+ | "Open directory" nil cmd default-directory)))) | ||
+ | |||
+ | ;;; keybindings | ||
+ | (define-key global-map [?\s-r] 'osxws-speech) | ||
+ | ;; keybinding: ⌘-option-r | ||
+ | (define-key global-map [?\s-®] 'osxws-speech-word) | ||
+ | ;; keybinding: ⌘-option-shift-F | ||
+ | (define-key global-map [?\s-Ï] 'osxws-open-folder-in-finder) | ||
+ | ;; keybinding: ⌘-option-shift-T | ||
+ | (define-key global-map [?\s-ˇ] 'osxws-open-Terminal) | ||
+ | |||
+ | (define-key global-map (kbd "C-;") 'ispell-word) | ||
+ | (define-key global-map (kbd "C-c w") 'osxws-lookup-dictionary-osx) | ||
+ | (define-key global-map (kbd "C-c g") 'osxws-search-google) | ||
+ | (define-key global-map (kbd "C-c G") 'osxws-search-googlescholar) | ||
+ | ) | ||
+ | |||
+ | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
+ | ;;;; Mew 6.6 - Messaging in the Emacs World | ||
+ | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
+ | |||
+ | (when osxws-default-mew | ||
+ | (autoload 'mew "mew" nil t) | ||
+ | (autoload 'mew-send "mew" nil t) | ||
+ | (if (file-exists-p "~/.emacs.d/mew.el") | ||
+ | (load-file "~/.emacs.d/mew.el")) | ||
) | ) | ||
行422: | 行577: | ||
</pre> | </pre> | ||
− | YaTeX のデフォルト設定:"/ | + | YaTeX のデフォルト設定:"/opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default-yatex.el" |
<pre> | <pre> | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | ;; | + | ;; osxws-default-yatex.el for MacOS X WorkShop |
− | ;; Time-stamp: | + | ;; Time-stamp: |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
− | |||
− | |||
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) | (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) | ||
− | ;; | + | ;; use \C-c \C- instead of \C-c [yatex:04567] |
− | + | (unless (boundp 'YaTeX-inhibit-prefix-letter) | |
− | + | (setq YaTeX-inhibit-prefix-letter t)) | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | (setq | + | ;; use our own scripts for typesetting |
− | + | (setq YaTeX-typeset-auto-rerun nil) | |
− | YaTeX- | + | |
+ | (setq auto-mode-alist | ||
+ | (append | ||
+ | '(("\\.\\(tex\\|sty\\|cls\\|fd\\|ind\\|idx\\|ltx\\|clo\\|bbl\\)$" . | ||
+ | yatex-mode)) auto-mode-alist)) | ||
+ | |||
+ | (setq YaTeX-latex-message-code 'utf-8 | ||
+ | YaTeX-use-LaTeX2e t ; AMS-LaTeX | ||
YaTeX-use-AMS-LaTeX t ; AMS-LaTeX | YaTeX-use-AMS-LaTeX t ; AMS-LaTeX | ||
− | |||
− | |||
− | |||
− | |||
− | |||
YaTeX-use-font-lock t | YaTeX-use-font-lock t | ||
− | ) | + | YaTeX-skip-default-reader t) |
+ | |||
+ | (if (equal current-language-environment "Japanese") | ||
+ | (setq YaTeX-kanji-code nil ; (1 JIS, 2 SJIS, 3 EUC, 4 UTF-8) | ||
+ | tex-command "platex2pdf" | ||
+ | dvi2-command "open -a Skim" | ||
+ | makeindex-command "mendex2pdf" | ||
+ | bibtex-command "pbibtex2pdf" | ||
+ | dviprint-command-format "dvipdfmx %s -o - | lpr") | ||
+ | (setq YaTeX-kanji-code nil ; (1 JIS, 2 SJIS, 3 EUC, 4 UTF-8) | ||
+ | tex-command "latex2pdf" | ||
+ | dvi2-command "open -a Skim" | ||
+ | makeindex-command "makeindex2pdf" | ||
+ | bibtex-command "bibtex2pdf" | ||
+ | dviprint-command-format "dvipdfmx %s -o - | lpr") | ||
+ | ) | ||
+ | |||
(add-hook 'skk-mode-hook | (add-hook 'skk-mode-hook | ||
− | + | (lambda () | |
− | + | (if (eq major-mode 'yatex-mode) | |
− | + | (progn | |
− | + | (define-key skk-j-mode-map "\\" 'self-insert-command) | |
− | + | (define-key skk-j-mode-map "$" 'YaTeX-insert-dollar) | |
− | + | )) | |
)) | )) | ||
+ | |||
+ | ;;; Indent | ||
+ | ;;; http://www.hit.ac.jp/~wachi/misc/latexindent.html | ||
+ | (autoload 'latex-indent-command "latex-indent" | ||
+ | "Indent current line accroding to LaTeX block structure.") | ||
+ | (autoload 'latex-indent-region-command "latex-indent" | ||
+ | "Indent each line in the region according to LaTeX block structure.") | ||
+ | |||
+ | ;;;; Skim PDF indicating cursor | ||
+ | ;;; pdflatex/platex -synctex=1 | ||
+ | ;;; switch from Emacs to Skim: C-c s | ||
+ | (defun skim-forward-search () | ||
+ | (interactive) | ||
+ | (process-kill-without-query | ||
+ | (start-process | ||
+ | "displayline" | ||
+ | nil | ||
+ | "/Applications/OSXWS/Skim.app/Contents/SharedSupport/displayline" | ||
+ | (number-to-string (save-restriction | ||
+ | (widen) | ||
+ | (count-lines (point-min) (point)))) | ||
+ | (expand-file-name | ||
+ | (concat (file-name-sans-extension (or YaTeX-parent-file | ||
+ | (save-excursion | ||
+ | (YaTeX-visit-main t) | ||
+ | buffer-file-name))) | ||
+ | ".pdf")) | ||
+ | buffer-file-name))) | ||
+ | |||
+ | ;;; insert subscript with roman font | ||
+ | (defun osxws-TeX-insert-subscript_rm () | ||
+ | "insert subscript with roman font" | ||
+ | (interactive) | ||
+ | (insert "_{\\mathrm{}}") | ||
+ | (backward-char 2)) | ||
+ | |||
+ | ;;; switch to previous buffer | ||
+ | (defun osxws-TeX-switch-to-previousbuffer () | ||
+ | "switch to previous buffer" | ||
+ | (interactive) | ||
+ | (switch-to-buffer nil)) | ||
+ | |||
+ | ;;; Open BibDesk with the cite key | ||
+ | (defun osxws-TeX-open-item-BibDesk () | ||
+ | "Open BibDesk with the cite key" | ||
+ | (interactive) | ||
+ | (let* ((s (save-excursion | ||
+ | (skip-chars-backward "^{,") | ||
+ | (point))) | ||
+ | (e (save-excursion | ||
+ | (skip-chars-forward "^},") | ||
+ | (point)))) | ||
+ | (browse-url (concat "x-bdsk://" (buffer-substring-no-properties s e))))) | ||
+ | |||
+ | ;;; Open BibDesk | ||
+ | (defun osxws-open-bibdesk () | ||
+ | "Open BibDesk" | ||
+ | (interactive) | ||
+ | (process-kill-without-query | ||
+ | (start-process-shell-command "Open BibDesk.app" nil "open -a BibDesk" ))) | ||
+ | |||
+ | ;;; \cite{foo} -> open foo.pdf | ||
+ | ;;; citekey == PDF file name | ||
+ | (defun osxws-TeX-open-article () | ||
+ | "Open PDF file by the cite key: \cite{foo} -> open foo.pdf" | ||
+ | (interactive) | ||
+ | (let* ((s (save-excursion | ||
+ | (skip-chars-backward "^{,") | ||
+ | (point))) | ||
+ | (e (save-excursion | ||
+ | (skip-chars-forward "^},") | ||
+ | (point))) | ||
+ | ;(pdfdir "~/Documents/Dropbox/Papers/pdf/") | ||
+ | (pdfdir (interactive "DPDF file directory name: ")) | ||
+ | (pdffile (concat pdfdir | ||
+ | (buffer-substring-no-properties s e) ".pdf")) | ||
+ | (process-kill-without-query | ||
+ | (start-process-shell-command "Open the article" nil "open" pdffile))))) | ||
+ | |||
+ | ;;; Convert text to audible speech by /usr/bin/say (Emacs + OSX) | ||
+ | (defun osxws-TeX-speech () | ||
+ | "Convert text to audible speech by /usr/bin/say of OSX." | ||
+ | (interactive) | ||
+ | (let (b e s | ||
+ | (block-sep-str "^\*\\|^\\ *%\\|^\\ *\n\\|\\\\item\\|\\\\begin\\|\\\\end")) | ||
+ | (if (eq (process-status "speech") 'run) | ||
+ | (delete-process "speech") | ||
+ | (progn | ||
+ | (if mark-active | ||
+ | (setq b (mark) e (point)) | ||
+ | (setq b (save-excursion | ||
+ | (progn | ||
+ | (re-search-backward block-sep-str (point-min) 1) | ||
+ | (point))) | ||
+ | e (save-excursion | ||
+ | (progn | ||
+ | (re-search-forward block-sep-str (point-max) 1) | ||
+ | (point))))) | ||
+ | (setq s (buffer-substring-no-properties b e) | ||
+ | s (replace-regexp-in-string "\\\\%" "percent" s) | ||
+ | s (replace-regexp-in-string "$\\\\mu$m" "micrometer" s) | ||
+ | s (replace-regexp-in-string "\\\\item" " " s) | ||
+ | s (replace-regexp-in-string "\\\\begin" " " s) | ||
+ | s (replace-regexp-in-string "\\\\end" " " s) | ||
+ | s (replace-regexp-in-string "\\\\," " " s) | ||
+ | s (replace-regexp-in-string "%[^\n]*" "" s) | ||
+ | s (replace-regexp-in-string | ||
+ | "\\\\[a-zA-Z]+{\\|[$\\\\_^~{}`\"*\n]" " " s) | ||
+ | s (replace-regexp-in-string "\\ +" " " s)) | ||
+ | (message s) | ||
+ | (process-kill-without-query | ||
+ | (start-process-shell-command "speech" nil | ||
+ | "/usr/bin/say" (concat "\"" s "\"" ))))))) | ||
+ | |||
+ | |||
+ | ;;; YaTeX key bindings | ||
+ | (add-hook 'yatex-mode-hook | ||
+ | '(lambda () | ||
+ | (require 'yatexprc) | ||
+ | (turn-off-auto-fill) ; no auto fill | ||
+ | (define-key YaTeX-mode-map [?\s-t] | ||
+ | (lambda () | ||
+ | (interactive) | ||
+ | (YaTeX-typeset-menu nil ?j))) | ||
+ | (define-key YaTeX-mode-map [?\s-b] | ||
+ | (lambda () | ||
+ | (interactive) | ||
+ | (YaTeX-typeset-menu nil ?j))) | ||
+ | (define-key YaTeX-mode-map [?\s-P] | ||
+ | (lambda (arg) | ||
+ | (interactive "P") | ||
+ | (let ((current-prefix-arg (not arg))) | ||
+ | (YaTeX-typeset-menu 'dummy ?p)))) | ||
+ | (define-key YaTeX-mode-map [?\s-B] | ||
+ | (lambda () | ||
+ | (interactive) | ||
+ | (YaTeX-typeset-menu nil ?b))) | ||
+ | (define-key YaTeX-mode-map [?\s-I] | ||
+ | (lambda () | ||
+ | (interactive) | ||
+ | (YaTeX-typeset-menu nil ?i))) | ||
+ | (define-key YaTeX-mode-map [?\s-J] 'osxws-TeX-open-item-BibDesk) | ||
+ | (define-key YaTeX-mode-map [?\s-R] 'skim-forward-search) | ||
+ | (define-key YaTeX-mode-map (kbd "C-c s") 'skim-forward-search) | ||
+ | (define-key YaTeX-mode-map "\t" 'latex-indent-command) | ||
+ | (define-key YaTeX-mode-map (kbd "C-c TAB") 'latex-indent-region-command) | ||
+ | (define-key YaTeX-mode-map [?\s-_] 'osxws-TeX-insert-subscript_rm) | ||
+ | (define-key YaTeX-mode-map [?\C-\s-J] 'YaTeX-goto-corresponding-*) | ||
+ | (define-key YaTeX-mode-map [?\s-H] 'YaTeX-display-hierarchy) | ||
+ | (define-key YaTeX-mode-map [?\s-1] 'YaTeX-visit-main) | ||
+ | (define-key YaTeX-mode-map [?\s-2] 'osxws-TeX-switch-to-previousbuffer) | ||
+ | (define-key YaTeX-mode-map [?\M-\s-B] 'osxws-open-bibdesk) | ||
+ | (define-key YaTeX-mode-map [?\s-ı] 'osxws-open-bibdesk) | ||
+ | (define-key YaTeX-mode-map [?\s-\)] 'osxws-TeX-speech-region) | ||
+ | (define-key YaTeX-mode-map [?\s-C] 'osxws-TeX-open-article) | ||
+ | )) | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
行496: | 行814: | ||
<comments /> | <comments /> | ||
− | == | + | == 10.10 Yosemite 版に関する議論 == |
− | http://www.bach-phys.ritsumei.ac.jp/OSXWS/ | + | ありませんでした。 |
+ | |||
+ | == 10.9 Maverics 版に関する議論 == | ||
+ | ありませんでした。 | ||
+ | |||
+ | == 10.8 MountainLion 版に関する議論 == | ||
+ | ありませんでした。 | ||
+ | |||
+ | == 10.7 Lion 版に関する議論 == | ||
+ | http://www.bach-phys.ritsumei.ac.jp/OSXWS/Lion/node56.html | ||
+ | |||
+ | == 10.6 SnowLeopard 版に関する議論 == | ||
+ | http://www.bach-phys.ritsumei.ac.jp/OSXWS/SnowLeopard/node59.html | ||
== 10.5 Leopard 版に関する議論 == | == 10.5 Leopard 版に関する議論 == |
2016年7月1日 (金) 18:55時点における最新版
MacOSX_WorkShop の「OSX-Preferences」と「emacs-lisps」で提供されている Emacs の設定ファイルを議論します。
目次
基本方針[編集]
- VineLinux の設定を基準にする。
OSXWS は大学や研究機関の計算機管理者が導入し、管理者権限を持たない学生さんやユーザーが利用する事を念頭に置いて下さい。
- 変更事項はその理由を明記する。
複数人の趣味に偏るのを避ける為にも必要です。
- 修正案の作り方
このWiki上で修正案を作る方法として、取り除くほうが良いと考えている物を「(取り除いた項目)」に移し、追加したいと考えているものを実際に追加し「(追加した項目)」に記入するようにしています。それにコメント、指摘を書き込んで頂けたら助かります。
- inline-patch や transparency patch 等 upstream で仕様が今後も変更される確率が高く、且つ、OSXWS としてのデフォルトなど基本的な設定は、site-start.d 内で行う。
OSXWS-10.11-1 の変更点[編集]
- OSXWS-10.9-1 からの変更はありません。
OSXWS-10.11-x の emacs 設定ファイル[編集]
ユーザーの初期設定ファイルを読む直前に osxws.el がロードされる:"/osx/osxws/share/emacs/site-lisp/emacs-lisps/osxws.el"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; osxws.el for MacOS X WorkShop ;; KOBAYASHI Taizo <xxxxxxx@xxxxxxx> ;; Time-stamp: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; setting the MacOS X WorkShop flag (defconst osxws-emacs-flag t "This is Emacs of MacOS X WorkShop.") (setq emacs-build-system (concat emacs-build-system " - MacOS X WorkShop - 10.11 ")) (setq report-emacs-bug-address "osxws@xxxxxxxxxxxx") (defcustom osxws-default t "A boolean for all OSX Workshop default settings" :type 'boolean) (defcustom osxws-default-base t "A boolean for loading osxws-setting section 0 (fundamental configurations)" :type 'boolean) (defcustom osxws-default-language-auto t "A boolean for loading osxws-setting section 1 (language auto detect)" :type 'boolean) (defcustom osxws-default-appearance t "A boolean for loading osxws-setting section 2 (appearance)" :type 'boolean) (defcustom osxws-default-keyboard t "A boolean for loading osxws-setting section 3 (keyboard/keybinding)" :type 'boolean) (defcustom osxws-default-shell t "A boolean for loading osxws-setting section 4 (shell-command)" :type 'boolean) (defcustom osxws-default-inlinepatch t "A boolean for loading osxws-setting section 5 (inline patch)" :type 'boolean) (defcustom osxws-default-cocoaemacs t "A boolean for loading osxws-setting section 6 (Cocoa Emacs)" :type 'boolean) (defcustom osxws-default-else t "A boolean for loading osxws-setting section 7 (anything else)" :type 'boolean) (defcustom osxws-default-mew t "A boolean for loading osxws-setting for Mew" :type 'boolean) (defcustom osxws-default-yatex t "A boolean for loading osxws-setting for YaTeX" :type 'boolean) (if (file-exists-p (concat user-emacs-directory "setup_osxws_default.el")) (load-file (concat user-emacs-directory "setup_osxws_default.el"))) (when osxws-default (message "Starting osxws-default ...") (load-file "/opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default.el") (if osxws-default-yatex (load-file "/opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default-yatex.el") ) ) (setq custom-file "~/.emacs.d/custom_osxws.el") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Local Variables: ;; mode: emacs-lisp ;; buffer-file-coding-system: junet-unix ;; End:
デフォルト設定を使用しない場合、ホームディレクトリのファイルから各変数を nil にする:"~/.emacs.d/setup_osxws_default.el"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ~/.emacs.d/setup_osxws_default.el ;; .emacs for MacOS X WorkShop ;; Time-stamp: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; MacOS X WorkShop provides the default setting for Emacs. ;; The setting is written in the following file: ;; /opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default.el ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; You can inactivate all by setting the variable osxws-defaul to nil. ;; (setq osxws-default nil) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; You can inactivate each section of the setting by setting ;; the variables osxws-defaul-* to nil. ;;(setq osxws-default-base nil) ;;(setq osxws-default-language-auto nil) ;;(setq osxws-default-appearance nil) ;;(setq osxws-default-keyboard nil) ;;(setq osxws-default-shell nil) ;;(setq osxws-default-inlinepatch nil) ;;(setq osxws-default-cocoaemacs nil) ;;(setq osxws-default-else nil) ;;(setq osxws-default-mew nil) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; You can inactivate the default setting for YaTeX by ;;(setq osxws-default-yatex nil) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Local Variables: ;; mode: emacs-lisp ;; buffer-file-coding-system: utf-8-unix ;; End:
init.el の例を兼ねて、最も変更する可能性の高いウィンドウ設定のみ記述:"~/.emacs.d/init.el"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ~/.emacs.d/init.el ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; You can edit this file as you like! ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; no start up message ;;(setq inhibit-startup-screen t) ;; window mode setting (when (eq window-system 'ns) ;; window size ;;(setq default-frame-alist ;; (append ;; '((width . 100) (height . 40)) ;; default-frame-alist)) ;; Color-thema (require 'color-theme) (color-theme-dark-blue2) ;; Transparency3 (add-to-list 'default-frame-alist '(alpha . (100 80))) ;; (alpha . (<active frame> <non active frame>)) ;; Save GUI Emacs frame size and position. ;; Restore the size and position when you launch Emacs. (require 'save-frame-posize) ) ;; input special and control characters by "Option" (setq ns-option-modifier 'none) ;; cursor mode (setq blink-cursor-interval 0.5) (setq blink-cursor-delay 5.0) (blink-cursor-mode 1) <--- 点滅を止める時は -1 に設定 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Local Variables: ;; mode: emacs-lisp ;; buffer-file-coding-system: utf-8-unix ;; End:
デフォルト設定のファイル:"/opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default.el"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; osxws-default.el for MacOS X WorkShop ;; Time-stamp: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Section 0 fundamental configurations ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (when osxws-default-base ;;;; path setting (setq exec-path (append (list "/opt/osxws/bin" "~/bin") exec-path)) (setenv "PATH" (concat '"/opt/osxws/bin:~/bin:" (getenv "PATH"))) ;;; save the position before you editing. (require 'saveplace) (setq-default save-place t) (setq save-place-file "~/Library/Application Support/OSXWS/emacs-places.txt") ;;; copy foo to foo~ as a backup file (setq backup-by-copying t) ;;; yank text with mouse (setq mouse-drag-copy-region t) ;;; deleting files goes to OS's trash folder ;;(setq delete-by-moving-to-trash t) ;;(setq trash-directory "~/.Trash") ;;; start emacsclient server if in window mode (if window-system (progn (require 'server) (unless (server-running-p) (server-start)))) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Section 1 language configurations (auto detect) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq appleLang (shell-command-to-string "/bin/echo -n `/usr/bin/defaults read -g AppleLocale | cut -f 1 -d _`")) (when osxws-default-language-auto ;;; japanese settings for Cocoa Emacs (cond ((string-match appleLang "ja") (set-language-environment 'Japanese)) ((string-match appleLang "en") (set-language-environment 'English)) ((string-match appleLang "fr") (set-language-environment 'French)) ((string-match appleLang "de") (set-language-environment 'German)) ((string-match appleLang "es") (set-language-environment 'Spanish)) ((string-match appleLang "it") (set-language-environment 'Italian)) ((string-match appleLang "nl") (set-language-environment 'Dutch)) ((string-match appleLang "sv") (set-language-environment 'Swedish)) (t (set-language-environment 'English))) (prefer-coding-system 'utf-8-unix) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Section 2 appearance setting ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (when osxws-default-appearance ;;; hide tool-bar and menu-bar (if window-system (tool-bar-mode 0) (menu-bar-mode 0)) ;;; show the corresponding paren (show-paren-mode) ;;; do not font scaling (setq scalable-fonts-allowed nil) ;;; show the present time on status bar (when (equal current-language-environment "Japanese") (setq dayname-j-alist '(("Sun" . "日") ("Mon" . "月") ("Tue" . "火") ("Wed" . "水") ("Thu" . "木") ("Fri" . "金") ("Sat" . "土"))) (setq display-time-string-forms '((format "%s年%s月%s日(%s) %s:%s %s" year month day (cdr (assoc dayname dayname-j-alist)) 24-hours minutes load)))) (display-time) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Section 3 keyboard/keybinding ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (when osxws-default-keyboard ;;; emulation of the standard CUA key bindings (Mac GUI) (cua-selection-mode t) ;;; behavior of "Command + Cursor" to the default of MacOS X ;;; default : ns-next-frame in ns-win.el (define-key global-map [s-left] 'move-beginning-of-line) ;;; default : ns-prev-frame in ns-win.el (define-key global-map [s-right] 'move-end-of-line) (define-key global-map [s-up] 'backward-page) (define-key global-map [s-down] 'forward-page) ;;; font resize short cut (Command +/-/0) (global-set-key [(s ?+)] (lambda () (interactive) (text-scale-increase 1))) (global-set-key [(s ?-)] (lambda () (interactive) (text-scale-decrease 1))) (global-set-key [(s ?0)] (lambda () (interactive) (text-scale-increase 0))) ;;; revert [Home] Key and [End] Key (define-key global-map [home] 'beginning-of-buffer) (define-key global-map [end] 'end-of-buffer) ;;; Delete the following character by fn + delete (define-key global-map [kp-delete] 'delete-char) ;;; fix yen key problem on JIS keyboard ;;; Ando-san's code (see [Macemacsjp-users 1126]) (define-key global-map [2213] nil) (define-key global-map [67111077] nil) (define-key function-key-map [2213] [?\\]) (define-key function-key-map [67111077] [?\C-\\]) (define-key global-map [3420] nil) (define-key global-map [67112284] nil) (define-key function-key-map [3420] [?\\]) (define-key function-key-map [67112284] [?\C-\\]) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Section 4 shell-command ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (when osxws-default-shell ;;; hide password (add-hook 'comint-output-filter-functions 'comint-watch-for-password-prompt) ;;; escape sequence (autoload 'ansi-color-for-comint-mode-on "ansi-color" "Set `ansi-color-for-comint-mode' to t." t) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Section 5 inline-patch by Hashimoto-san ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (when osxws-default-inlinepatch (when window-system (setq default-input-method "MacOSX") (add-hook 'minibuffer-setup-hook 'mac-change-language-to-us) ;;(mac-add-ignore-shortcut '(control)) (mac-add-key-passed-to-system 'shift) (mac-set-input-method-parameter "com.apple.inputmethod.Kotoeri.Roman" `title "あ") (mac-set-input-method-parameter "com.apple.inputmethod.Kotoeri.Roman" `cursor-type 'box) (mac-set-input-method-parameter "com.apple.inputmethod.Kotoeri.Japanese" `cursor-color "red")) ;;; start up by Command-Space (global-set-key [(s \ )] 'toggle-input-method) ;;; start up by Shift-Space (global-set-key [?\S-\ ] 'toggle-input-method) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Section 6 CocoaEmacs window mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (when osxws-default-cocoaemacs (when window-system ;;;; Font setting (set-frame-font "Inconsolata 16") (set-fontset-font (frame-parameter nil 'font) 'unicode '("ヒラギノ丸ゴ ProN" . "unicode-bmp") nil 'append) (add-to-list 'default-frame-alist '(font . "Inconsolata 16")) ;;;; smart-dnd (require 'smart-dnd) ;;; yahtml-mode: (add-hook 'yahtml-mode-hook '(lambda () (smart-dnd-setup '( ("\\.gif\\'" . "<img src=\"%R\">\n") ("\\.jpg\\'" . "<img src=\"%R\">\n") ("\\.png\\'" . "<img src=\"%R\">\n") ("\\.css\\'" . "<link rel=\"stylesheet\" type=\"text/css\" href=\"%R\">\n" ) ("\\.js\\'" . "<script type=\"text/javascript\" src=\"%R\"></script>\n" ) (".*" . "<a href=\"%R\">%f</a>\n"))))) ;;; yatex-mode: (add-hook 'yatex-mode-hook '(lambda () (smart-dnd-setup '( ("\\.tex\\'" . "\\input{%r}\n") ("\\.cls\\'" . "\\documentclass{%f}\n") ("\\.sty\\'" . "\\usepackage{%f}\n") ("\\.eps\\'" . "\\includegraphics[clip]{%r}\n") ("\\.ps\\'" . "\\includegraphics[clip]{%r}\n") ("\\.pdf\\'" . "\\includegraphics[clip]{%r}\n") ("\\.jpg\\'" . "\\includegraphics[clip]{%r}\n") ("\\.png\\'" . "\\includegraphics[clip]{%r}\n") ("\\.bst\\'" . "\\bibliographystyle{%n}\n") ("\\.bib\\'" . "\\bibliography{%n}\n"))))) ;;; C/C++ mode: (add-hook 'c-mode-common-hook '(lambda () (smart-dnd-setup '(("\\.h\\'" . "#include <%f>"))))) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Section 7 anything else ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (when osxws-default-else ;;; The number of lines to scroll a window by when point moves out. (setq scroll-step 1) ;;;; Time Stamp ;;; If you put 'Time-stamp: <>' or 'Time-stamp: ""' on ;;; top 8 lines of the file, the '<>' or '""' are filled with the date ;;; at saving the file. (require 'time-stamp) (if (not (memq 'time-stamp write-file-functions)) (setq write-file-functions (cons 'time-stamp write-file-functions))) ;;;; Auto Complete Mode (require 'auto-complete-config) (ac-config-default) (add-to-list 'ac-dictionary-directories "/opt/osxws/share/emacs/site-lisp/emacs-lisps/ac-dict") ;;; text-to-speech by say: sentence (defun osxws-speech (b e) "Convert text to audible speech by /usr/bin/say of OSX." (interactive "r") (let (str) (if (eq mark-active 'nil) (progn (setq b1 (save-excursion (re-search-backward "^\\ *%") (point))) (setq b2 (save-excursion (re-search-backward "^\n") (point))) (setq e1 (save-excursion (re-search-forward "^\\ *%") (point))) (setq e2 (save-excursion (re-search-forward "^\n") (point))) (setq b (if (< b1 b2) b2 t b1)) (setq e (if (> e1 e2) e2 t e1)))) (setq str (buffer-substring-no-properties b e)) (setq str (replace-regexp-in-string "\\\\%" "percent" str)) (setq str (replace-regexp-in-string "%[^\n]*" "" str)) (setq str (replace-regexp-in-string "\\\\[a-zA-Z]+{" " " str)) (setq str (replace-regexp-in-string "[$_^\n()~{}|;`]" " " str)) (setq str (replace-regexp-in-string "\\ +" " " str)) (message str) (if (eq (process-status "speech") 'run) (delete-process "speech") (process-kill-without-query (start-process-shell-command "speech" nil "/usr/bin/say " (concat "\"" str "\"" )))))) ;;; text-to-speech by say: word (defun osxws-speech-word() "Speak words." (interactive) (let* ((str (url-hexify-string (string-word-or-region)))) (process-kill-without-query (start-process-shell-command "speech" nil "/usr/bin/say -r 150" (concat "\"" str "\"" ))))) ;;; Search marked region by google (defun osxws-search-google() "Search marked region by google" (interactive) (let* ((str (string-word-or-region))) (browse-url (concat "http://google.com/search?q=\"" str "\"")))) ;;; Search marked region by google scholar (defun osxws-search-googlescholar() "Search string by google scholar" (interactive) (let* ((str (string-word-or-region))) (browse-url (concat "http://scholar.google.com/scholar?q=\"" str "\"")))) ;;; "Look up the word by Dictionary.app of Mac OS X" ;;; http://sakito.jp/mac/dictionary.html (defun osxws-lookup-dictionary-osx() "Look up the word by Dictionary.app of Mac OS X" (interactive) (let* ((str (url-hexify-string (string-word-or-region)))) (browse-url (concat "dict://" str )))) (defun string-word-or-region () "If a region is selected, the text string of the region is returned. Otherwise, the text string of the word is returnd." (let ((editable (not buffer-read-only)) (pt (save-excursion (mouse-set-point last-nonmenu-event))) beg end) (if (and mark-active (<= (region-beginning) pt) (<= pt (region-end)) ) (setq beg (region-beginning) end (region-end)) (save-excursion (goto-char pt) (backward-char 1) (setq end (progn (forward-word) (point))) (setq beg (progn (backward-word) (point))))) (buffer-substring-no-properties beg end))) ;;; Show in Finder (defun osxws-show-in-finder () (interactive) (process-kill-without-query (start-process-shell-command "Show in Finder" nil "open -R" (buffer-file-name)))) ;;; Open current working directory by Finder (defun osxws-open-folder-in-finder () "open -a Finder.app CURRENT-DIRECTORY" (interactive) (process-query-on-exit-flag (start-process-shell-command "open folder in Finder" nil "open ."))) ;;; Open current working directory by Terminal/iTerm (defun osxws-open-Terminal() "open -a Terminal.app CURRENT-DIRECTORY" (interactive) (let* (;;(cmd "open -a Terminal.app") (cmd "open -a iTerm.app")) (process-kill-without-query (start-process-shell-command "Open directory" nil cmd default-directory)))) ;;; keybindings (define-key global-map [?\s-r] 'osxws-speech) ;; keybinding: ⌘-option-r (define-key global-map [?\s-®] 'osxws-speech-word) ;; keybinding: ⌘-option-shift-F (define-key global-map [?\s-Ï] 'osxws-open-folder-in-finder) ;; keybinding: ⌘-option-shift-T (define-key global-map [?\s-ˇ] 'osxws-open-Terminal) (define-key global-map (kbd "C-;") 'ispell-word) (define-key global-map (kbd "C-c w") 'osxws-lookup-dictionary-osx) (define-key global-map (kbd "C-c g") 'osxws-search-google) (define-key global-map (kbd "C-c G") 'osxws-search-googlescholar) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; Mew 6.6 - Messaging in the Emacs World ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (when osxws-default-mew (autoload 'mew "mew" nil t) (autoload 'mew-send "mew" nil t) (if (file-exists-p "~/.emacs.d/mew.el") (load-file "~/.emacs.d/mew.el")) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Local Variables: ;; mode: emacs-lisp ;; buffer-file-coding-system: utf-8-unix ;; End:
YaTeX のデフォルト設定:"/opt/osxws/share/emacs/site-lisp/emacs-lisps/osxws-default-yatex.el"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; osxws-default-yatex.el for MacOS X WorkShop ;; Time-stamp: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) ;; use \C-c \C- instead of \C-c [yatex:04567] (unless (boundp 'YaTeX-inhibit-prefix-letter) (setq YaTeX-inhibit-prefix-letter t)) ;; use our own scripts for typesetting (setq YaTeX-typeset-auto-rerun nil) (setq auto-mode-alist (append '(("\\.\\(tex\\|sty\\|cls\\|fd\\|ind\\|idx\\|ltx\\|clo\\|bbl\\)$" . yatex-mode)) auto-mode-alist)) (setq YaTeX-latex-message-code 'utf-8 YaTeX-use-LaTeX2e t ; AMS-LaTeX YaTeX-use-AMS-LaTeX t ; AMS-LaTeX YaTeX-use-font-lock t YaTeX-skip-default-reader t) (if (equal current-language-environment "Japanese") (setq YaTeX-kanji-code nil ; (1 JIS, 2 SJIS, 3 EUC, 4 UTF-8) tex-command "platex2pdf" dvi2-command "open -a Skim" makeindex-command "mendex2pdf" bibtex-command "pbibtex2pdf" dviprint-command-format "dvipdfmx %s -o - | lpr") (setq YaTeX-kanji-code nil ; (1 JIS, 2 SJIS, 3 EUC, 4 UTF-8) tex-command "latex2pdf" dvi2-command "open -a Skim" makeindex-command "makeindex2pdf" bibtex-command "bibtex2pdf" dviprint-command-format "dvipdfmx %s -o - | lpr") ) (add-hook 'skk-mode-hook (lambda () (if (eq major-mode 'yatex-mode) (progn (define-key skk-j-mode-map "\\" 'self-insert-command) (define-key skk-j-mode-map "$" 'YaTeX-insert-dollar) )) )) ;;; Indent ;;; http://www.hit.ac.jp/~wachi/misc/latexindent.html (autoload 'latex-indent-command "latex-indent" "Indent current line accroding to LaTeX block structure.") (autoload 'latex-indent-region-command "latex-indent" "Indent each line in the region according to LaTeX block structure.") ;;;; Skim PDF indicating cursor ;;; pdflatex/platex -synctex=1 ;;; switch from Emacs to Skim: C-c s (defun skim-forward-search () (interactive) (process-kill-without-query (start-process "displayline" nil "/Applications/OSXWS/Skim.app/Contents/SharedSupport/displayline" (number-to-string (save-restriction (widen) (count-lines (point-min) (point)))) (expand-file-name (concat (file-name-sans-extension (or YaTeX-parent-file (save-excursion (YaTeX-visit-main t) buffer-file-name))) ".pdf")) buffer-file-name))) ;;; insert subscript with roman font (defun osxws-TeX-insert-subscript_rm () "insert subscript with roman font" (interactive) (insert "_{\\mathrm{}}") (backward-char 2)) ;;; switch to previous buffer (defun osxws-TeX-switch-to-previousbuffer () "switch to previous buffer" (interactive) (switch-to-buffer nil)) ;;; Open BibDesk with the cite key (defun osxws-TeX-open-item-BibDesk () "Open BibDesk with the cite key" (interactive) (let* ((s (save-excursion (skip-chars-backward "^{,") (point))) (e (save-excursion (skip-chars-forward "^},") (point)))) (browse-url (concat "x-bdsk://" (buffer-substring-no-properties s e))))) ;;; Open BibDesk (defun osxws-open-bibdesk () "Open BibDesk" (interactive) (process-kill-without-query (start-process-shell-command "Open BibDesk.app" nil "open -a BibDesk" ))) ;;; \cite{foo} -> open foo.pdf ;;; citekey == PDF file name (defun osxws-TeX-open-article () "Open PDF file by the cite key: \cite{foo} -> open foo.pdf" (interactive) (let* ((s (save-excursion (skip-chars-backward "^{,") (point))) (e (save-excursion (skip-chars-forward "^},") (point))) ;(pdfdir "~/Documents/Dropbox/Papers/pdf/") (pdfdir (interactive "DPDF file directory name: ")) (pdffile (concat pdfdir (buffer-substring-no-properties s e) ".pdf")) (process-kill-without-query (start-process-shell-command "Open the article" nil "open" pdffile))))) ;;; Convert text to audible speech by /usr/bin/say (Emacs + OSX) (defun osxws-TeX-speech () "Convert text to audible speech by /usr/bin/say of OSX." (interactive) (let (b e s (block-sep-str "^\*\\|^\\ *%\\|^\\ *\n\\|\\\\item\\|\\\\begin\\|\\\\end")) (if (eq (process-status "speech") 'run) (delete-process "speech") (progn (if mark-active (setq b (mark) e (point)) (setq b (save-excursion (progn (re-search-backward block-sep-str (point-min) 1) (point))) e (save-excursion (progn (re-search-forward block-sep-str (point-max) 1) (point))))) (setq s (buffer-substring-no-properties b e) s (replace-regexp-in-string "\\\\%" "percent" s) s (replace-regexp-in-string "$\\\\mu$m" "micrometer" s) s (replace-regexp-in-string "\\\\item" " " s) s (replace-regexp-in-string "\\\\begin" " " s) s (replace-regexp-in-string "\\\\end" " " s) s (replace-regexp-in-string "\\\\," " " s) s (replace-regexp-in-string "%[^\n]*" "" s) s (replace-regexp-in-string "\\\\[a-zA-Z]+{\\|[$\\\\_^~{}`\"*\n]" " " s) s (replace-regexp-in-string "\\ +" " " s)) (message s) (process-kill-without-query (start-process-shell-command "speech" nil "/usr/bin/say" (concat "\"" s "\"" ))))))) ;;; YaTeX key bindings (add-hook 'yatex-mode-hook '(lambda () (require 'yatexprc) (turn-off-auto-fill) ; no auto fill (define-key YaTeX-mode-map [?\s-t] (lambda () (interactive) (YaTeX-typeset-menu nil ?j))) (define-key YaTeX-mode-map [?\s-b] (lambda () (interactive) (YaTeX-typeset-menu nil ?j))) (define-key YaTeX-mode-map [?\s-P] (lambda (arg) (interactive "P") (let ((current-prefix-arg (not arg))) (YaTeX-typeset-menu 'dummy ?p)))) (define-key YaTeX-mode-map [?\s-B] (lambda () (interactive) (YaTeX-typeset-menu nil ?b))) (define-key YaTeX-mode-map [?\s-I] (lambda () (interactive) (YaTeX-typeset-menu nil ?i))) (define-key YaTeX-mode-map [?\s-J] 'osxws-TeX-open-item-BibDesk) (define-key YaTeX-mode-map [?\s-R] 'skim-forward-search) (define-key YaTeX-mode-map (kbd "C-c s") 'skim-forward-search) (define-key YaTeX-mode-map "\t" 'latex-indent-command) (define-key YaTeX-mode-map (kbd "C-c TAB") 'latex-indent-region-command) (define-key YaTeX-mode-map [?\s-_] 'osxws-TeX-insert-subscript_rm) (define-key YaTeX-mode-map [?\C-\s-J] 'YaTeX-goto-corresponding-*) (define-key YaTeX-mode-map [?\s-H] 'YaTeX-display-hierarchy) (define-key YaTeX-mode-map [?\s-1] 'YaTeX-visit-main) (define-key YaTeX-mode-map [?\s-2] 'osxws-TeX-switch-to-previousbuffer) (define-key YaTeX-mode-map [?\M-\s-B] 'osxws-open-bibdesk) (define-key YaTeX-mode-map [?\s-ı] 'osxws-open-bibdesk) (define-key YaTeX-mode-map [?\s-\)] 'osxws-TeX-speech-region) (define-key YaTeX-mode-map [?\s-C] 'osxws-TeX-open-article) )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; yahtml ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq auto-mode-alist (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist)) (autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t) (add-to-list 'auto-mode-alist '("\\.htm\\'" . yahtml-mode)) (setq yahtml-www-browser "open" yahtml-lint-program "htmllint" yahtml-kanji-code 4) (add-hook 'yahtml-mode-hook '(lambda () (auto-fill-mode -1) )) ;;;; <p> </p> (setq yahtml-always-/p t) ;;;; <li> </li> (setq yahtml-always-/li t) ;; End:
コメント[編集]
10.10 Yosemite 版に関する議論[編集]
ありませんでした。
10.9 Maverics 版に関する議論[編集]
ありませんでした。
10.8 MountainLion 版に関する議論[編集]
ありませんでした。
10.7 Lion 版に関する議論[編集]
http://www.bach-phys.ritsumei.ac.jp/OSXWS/Lion/node56.html
10.6 SnowLeopard 版に関する議論[編集]
http://www.bach-phys.ritsumei.ac.jp/OSXWS/SnowLeopard/node59.html
10.5 Leopard 版に関する議論[編集]
http://www.bach-phys.ritsumei.ac.jp/OSXWS/Leopard/node59.html
10.4 Tiger 版に関する議論[編集]
http://www.bach-phys.ritsumei.ac.jp/OSXWS/Tiger/node60.html