Mac OS X設定2日目

ようやく多少まともに使えるようになってきました.

LaTeX

$ cp ~/Library/TeXShop/bin/ptex2pdf-euc ~/Library/TeXShop/bin/ptex2pdf-utf8
$ cp ~/Library/TeXShop/bin/platex2pdf-euc ~/Library/TeXShop/bin/platex2pdf-utf8

YaTeX

Carbon Emacsだとネットインストールができる.Emacsを起動してHelp=>Carbon Emacs Package=>Net-Install=>YaTeXでインストール.
インストールしたら.emacsを編集.

;; .texで自動的にyatex-mode
(setq auto-mode-alist
    (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
;; TeXShopでプレビュー
(setq tex-command "~/Library/TeXShop/bin/platex2pdf-utf8"
      dvi2-command "open -a TexShop")
;; 漢字コード
(setq YaTeX-kanji-code 4)
;; PATH
(setq exec-path (cons "/usr/local/bin" exec-path))
(setenv "PATH"
        (concat '"/usr/local/bin:" (getenv "PATH")))

PATHいらないかも.
ここで半角の¥と\が区別されるということに気づかなくて若干はまった.考えれば当たり前だがUTF-8だと区別できるらしい.でもそれだと今まで¥でやってきたファイルどうしたらいいの本物の¥と\区別できないよっていう問題があって,それに対してMS製OSは半角の¥は全部バックスラッシュに変換してしまって,フォントが日本語の時は¥で表示してしまうというアレだが現実的な解決法を採用しているらしい.それでその方法をOSXは採用していないと,多分そういうことなんだろう.
¥は制御文字じゃないので\を入力しないといけない.でも右上の¥キーをそのまま叩いても¥になる.\はoption+¥で入力できる.てかなんで右シフトの左に無いんだろ.

R

Rはhttp://cran.md.tsukuba.ac.jp/からR-2.10.1.pkgを落としてきてインストールした.
ホームディレクトリに.Rprofileを作成し,以下の内容を記述.

if (.Platform$pkgType == "mac.binary.leopard"){
        options(device="quartz")
}

setHook(packageEvent("grDevices", "onLoad"),function(...) grDevices::pdf.options(family="Japan1"))
setHook(packageEvent("grDevices", "onLoad"),function(...) grDevices::ps.options(family="Japan1"))
setHook(packageEvent("grDevices", "onLoad"),
        function(...){
            grDevices::quartzFonts(serif=grDevices::quartzFont(
                c("Hiragino Mincho Pro W3",
                  "Hiragino Mincho Pro W6",
                  "Hiragino Mincho Pro W3",
                  "Hiragino Mincho Pro W6")))
            grDevices::quartzFonts(sans=grDevices::quartzFont(
                c("Hiragino Kaku Gothic Pro W3",
                  "Hiragino Kaku Gothic Pro W6",
                  "Hiragino Kaku Gothic Pro W3",
                  "Hiragino Kaku Gothic Pro W6")))
        }
)
attach(NULL, name = "MacJapanEnv")
assign("familyset_hook",
       function() { if(names(dev.cur())=="quartz") par(family="serif")},
       pos="MacJapanEnv")
setHook("plot.new", get("familyset_hook", pos="MacJapanEnv"))

grDevices::X11.options(fonts=c("-ipagothic-gothic-%s-%s-normal--%d-*-*-*-*-*-*-*","-adobe-symbol-medium-r-*-*-%d-*-*-*-*-*-*-*"))

一行目だけ変更しました.

ESS

ESSはCarbon Emacsに付属.とりあえずそれをそのまま使う.
.emacsに以下を追加.

;; 拡張子.Rで自動的にR-mode
(setq auto-mode-alist
    (cons (cons "\\.R$" 'R-mode) auto-mode-alist))
(autoload 'R-mode "ess-site" "Emacs Speaks Statistics mode" t)
(autoload 'R "ess-site" nil 'interactive)
(setq ess-ask-for-ess-directory nil)
(setq ess-pre-run-hook
    '((lambda ()
        (setq default-process-coding-system '(utf-8 . utf-8))
        )))
;; Rへのパス
(setq-default inferior-R-program-name "/Library/Frameworks/R.framework/Resources/bin/R")
;; M-x R時のウィンドウ分割
(defun ess:format-window-1 ()
    (sprit-window-horizontally)
    (other-window 1)
    (sprit-window)
    (other-window 1)
    )
(add-hook 'ess-pre-run-hook 'ess:format-window-1)
;; M-x align
(require 'align)
(add-to-list 'align-rules-list
             '(ess-assignment-operator
               (regexp . "\\(\\s-*\\)<-[^#\t\n]")
               (repeat . nil)
               (modes  . '(ess-mode))))

ここも¥と\に気をつける.全部\で.
参考

WindowsだとM-x rでもR起動してたけどCarbon Emacs上だとM-x Rと大文字で入力しないとR起動しなかった.何か設定忘れてるのかも.

Git

Google Code Archive - Long-term storage for Google Code Project Hosting.
.zshenvなどに記述してパスを通す

export PATH=/usr/local/git/bin:$PATH

ターミナル

  • lsに色を付ける
    • $ sudo port install coreutils
    • glsコマンドが追加されるので,lsにエイリアス
    • .zshrcなどに以下を追加
alias ls='gls -F --color=auto'
alias la='gls -aF --color=auto'
alias ll='gls -laF --color=auto'

vim

  • Windowsから持ってきた.gvimrc, .vimrc等に^Mが入っていたときの対応
    • perl -i.old -npe 's/\r\n/\n/' .gvimrc
  • 半透明
    • set transparency=30
  • バックアップ
    • .vimrcに
set backup
set backupdir=~/vimbackup
set directory=~/vimbackup

参考:テキスト行末の「^M」コードを削除したい - ITmedia エンタープライズ
あとこれWindowsで書いてる関係で手打ちした部分が結構あるのと動作確認してないので,もしかするとどこかにタイプミスがあるかもしれません.