;;
;; Emacs 23.1
;;
;; Last-Modified: 2010-03-10T02:01:32+09:00
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Japanese Environment ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(set-language-environment "Japanese")
;;;; utf-8-{dos, unix, mac}
;;;; CR+LF LF CR
;;;; use "dos" or "unix"
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
;(set-file-name-coding-system 'shift-jis)
;;;; フォント
;(set-default-font "MeiryoKe_Console-11")
(set-frame-font "MeiryoKe_Console-11")
;;;; C-x 5 2 で新しいフレームを作成した場合
;;;; フォントが指定したものにならないための対策
(modify-all-frames-parameters (list (assq 'font (frame-parameters))))
;;;;;;;;;;;;;;;
;; Windows ;;
;;;;;;;;;;;;;;;
;; IME
(w32-ime-initialize)
(setq default-input-method "W32-IME")
(setq-default w32-ime-mode-line-state-indicator "[--]")
(setq w32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))
;;;;;;;;;;;;;;;;
;; 共通設定 ;;
;;;;;;;;;;;;;;;;
;;
;; 日本語入力を中止
;;
;;;; ミニバッファでyes/no選択時,IMEを自動でOFFに
;(wrap-function-to-control-ime 'y-or-n-p nil nil)
;(wrap-function-to-control-ime 'yes-or-no-p nil nil)
;;;; 置換するときにIMEをOFF
;(wrap-function-to-control-ime 'perform-replace nil nil)
;;;; C-u と打つとIMEをOFF
;(wrap-function-to-control-ime 'universal-argument t nil)
;(wrap-function-to-control-ime 'read-string nil nil)
;(wrap-function-to-control-ime 'read-from-minibuffer nil nil)
;(wrap-function-to-control-ime 'read-key-sequence nil nil)
(wrap-function-to-control-ime 'map-y-or-n-p nil nil)
;(wrap-function-to-control-ime 'read-passwd t t) ; don't work as we expect.
;;;; キーバインド
(define-key global-map "\C-c;" 'comment-region) ; コメントアウト
(define-key global-map "\C-c:" 'uncomment-region) ; コメント解除
;;
;; 見栄え関連
;;
;;;; 文字色を設定
;(add-to-list 'default-frame-alist '(foreground-color . "white"))
;;;; 背景色を設定
;(add-to-list 'default-frame-alist '(background-color . "black"))
(setq initial-frame-alist
(append
'((foreground-color . "white") ;前景色
(background-color . "black") ;背景色
(cursor-color . "gray") ;カーソル色
(width . 80) ;フレーム幅(文字数)
(height . 50) ;フレーム高(文字数)
;(top . 50) ;フレームの Y 位置(ピクセル数)
;(left . 10) ;フレームの X 位置(ピクセル数)
;(alpha . 90) ;フレームの-透明度(%)
)
initial-frame-alist))
(setq default-frame-alist
(append
'((foreground-color . "white") ;前景色
(background-color . "black") ;背景色
(cursor-color . "gray") ;カーソル色
(width . 80) ;フレーム幅(文字数)
(height . 40) ;フレーム高(文字数)
;(top . 50) ;フレームの Y 位置(ピクセル数)
;(left . 10) ;フレームの X 位置(ピクセル数)
;(alpha . 90) ;フレームの-透明度(%)
)
default-frame-alist))
;;;; IME の ON/OFF でカーソルの色を変える
(set-cursor-color "gray")
(add-hook 'input-method-activate-hook
(function (lambda () (set-cursor-color "green"))))
(add-hook 'input-method-inactivate-hook
(function (lambda () (set-cursor-color "gray"))))
;;;; リージョンをハイライトする
(transient-mark-mode t)
;;;; 対応する括弧をハイライトする
(show-paren-mode t)
;;;; 最終行に必ず一行挿入する
(setq require-final-newline t)
;;;; find-fileのファイル名補完で大文字小文字を区別しない設定
(setq completion-ignore-case t)
;;;; モードラインに行数と列数を表示
;(line-number-mode t)
(column-number-mode t)
;;;; ツールバーを消す
(tool-bar-mode 0)
;;;; カーソルの点滅を止める
(blink-cursor-mode 0)
;;;; スクロールを一行ずつにする
;; (setq scroll-conservatively 35
;; scroll-margin 0
;; scroll-step 1)
;;;; スクロールの加速を止める
(setq mouse-wheel-progressive-speed nil)
;;;; スクロール量の設定
;; (defvar my-wheel-scroll-lines 5 "マウスホイールのスクロール量")
;; (defun my-wheel-down-scroll-lines ()
;; "" (interactive) (scroll-up my-wheel-scroll-lines))
;; (defun my-wheel-up-scroll-lines ()
;; "" (interactive) (scroll-down my-wheel-scroll-lines))
;; (global-set-key [wheel-up] 'my-wheel-up-scroll-lines)
;; (global-set-key [wheel-down] 'my-wheel-down-scroll-lines)
;; ;;;;
;; (setq my-wheel-scroll-lines 3)
;; (global-set-key [double-wheel-up] 'my-wheel-up-scroll-lines)
;; (global-set-key [double-wheel-down] 'my-wheel-down-scroll-lines)
;; ;;;;
;; (setq my-wheel-scroll-lines 3)
;; (global-set-key [triple-wheel-up] 'my-wheel-up-scroll-lines)
;; (global-set-key [triple-wheel-down] 'my-wheel-down-scroll-lines)
;;;; スクロールバーを右側に表示する
;(set-scroll-bar-mode 'right)
;;
;; Font Lock
;;
;;;; プログラムの色分け
;(global-font-lock-mode t)
;;;; ロックのかけ方
;(setq font-lock-support-mode 'jit-lock-mode)
;(setq font-lock-support-mode 'lazy-lock-mode) ;エラー
;(setq font-lock-support-mode 'fast-lock-mode) ;エラー
;; set-face-bold-p, set-face-italic-p, set-face-stipple
;; set-face-underline-p
;; set-face-foreground, set-face-background
;;;; コメント 'font-lock-comment-face
;(set-face-italic-p 'font-lock-comment-face t)
;(set-face-foreground 'font-lock-comment-face "gray")
;;;; 文字列
;(set-face-foreground 'font-lock-string-face "green")
;;;; キーワード(言語のTokenであるif,forなど)に適用される
;(set-face-foreground 'font-lock-keyword-face "orange")
;;;; 組み込み関数名
;(set-face-foreground 'font-lock-builtin-face "red")
;;;; 定義/宣言される関数名
;(set-face-foreground 'font-lock-function-name-face "yellow")
;;;; 定義/宣言される変数名
;(set-face-background 'font-lock-variable-name-face "LightGreen")
;;;; ユーザー定義のデータ型の名前 R(TRUE/FALSE)
;(set-face-foreground 'font-lock-type-face "LightBrue")
;;;; 定数名 R(<-)
;(set-face-foreground 'font-lock-constant-face "magenta")
;;;; 独特な構文や別のテキストの意味を大きく変えるようなもの。たとえば、Emacs Lispの`;;;###autoload'や Cの#error指定
;(set-face-foreground 'font-lock-warning-face "orange")
;;;; Vector/matrix labels R([])
;;;;;;;;;;;;
;; 拡張 ;;
;;;;;;;;;;;;
;;
;; color-theme i
;;
(require 'color-theme)
(add-to-list 'load-path "/path/to/color-theme.el/file")
(require 'color-theme)
(eval-after-load "color-theme"
'(progn
(color-theme-initialize)
(color-theme-dark-laptop)))
;;
;; AutoComplete (auto-complete.el)
;; YASnippet (yasnippet.elなど)
;;
;;;; yasnippetの設定
;(add-to-list 'load-path "~/site-lisp/yasnippet");;site-lispにロードパスを通してる場合
;(add-to-list 'load-path "C:/usr/local/emacs/site-lisp/yasnippet")
(require 'yasnippet) ;; not yasnippet-bundle
(yas/initialize)
(defvar my-yas-load-directory "C:/usr/local/emacs/site-lisp/yasnippet/snippets" "snippetのパス")
(yas/load-directory my-yas-load-directory)
;;;; snippetsのパス
(setq my-yas-load-directory "C:/usr/local/emacs/site-lisp/yasnippet/snippets")
;;
;; Auto Complete (auto-complete.el) i
;; (auto-complete-acr.el) i
;; (auto-complete-yasnippet) i
;;
(require 'auto-complete)
(global-auto-complete-mode t)
(require 'auto-complete-yasnippet)
(require 'auto-complete-acr)
;;;; auto-complete-modeの自動起動
;;;; auto-complete.elの中にac-modesという変数があって、どのメジャーモードでauto-complete-modeを実行するか管理しているようです。
;;;; なので、この中にess-modeを追加すればいいと思います。
;; (when (boundp 'ac-modes)
;; (setq ac-modes
;; (append ac-modes
;; (list 'ess-mode))))
(defun ess-mode-load-hook ()
(require 'auto-complete)
(when (boundp 'ac-modes)
(setq ac-modes
(append ac-modes
(list 'ess-mode 'yas/minor-mode))))
(global-auto-complete-mode t))
(add-hook 'ess-mode-hook 'ess-mode-load-hook)
;;
;; time-stamp
;;
;(require 'time-stamp)
;;;; 最終更新日の自動挿入 <>
(add-hook 'before-save-hook 'time-stamp)
(setq time-stamp-active t)
(setq time-stamp-start "Last-Modified: ")
;(setq time-stamp-start "last update: ")
(setq time-stamp-format "%04y-%02m-%02dT%02H:%02M:%02S+09:00")
;(setq time-stamp-format "%04y-%02m-%02dT%02H:%02M:%02S %Z")
(setq time-stamp-end "$")
;(setq time-stamp-line-limit 20)
;;
;; YaTeX (野鳥) i
;;
(setq auto-mode-alist
(cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
;;;; 自動改行の制御 (off)
(add-hook 'yatex-mode-hook
'(lambda ()
(auto-fill-mode -1)))
;;;; 野鳥の emacs-lisp ファイル群を置くディレクトリ
;(setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path))
;;;; platex
(setq tex-command "platex -src")
;;;; dviout
(setq dvi2-command "c:/dviout/dviout")
;;;; makeindex
(setq makeindex-command "mendex")
;;;; bibtex
(setq bibtex-command "jbibtex")
;;;; dvipdfmを追加
;;;; dviからpdfを作成する%sはファイル名
(setq dviprint-command-format "dvipdfmx %s")
;;;; 新規ファイル作成時に自動挿入するファイル名
;(setq YaTeX-template-file "~/.LaTeX-template")
;(setq YaTeX-template-file "~/main.tex")
;;
;; ESS (Emacs Speaks Statistics) i
;;
(require 'ess-site)
;; (setq auto-mode-alist
;; (cons (cons "\\.r$" 'R-mode) auto-mode-alist))
;; (autoload 'R-mode "ess-site" "Emacs Speaks Statistics mode" t)
;;;; R起動時にWorkingディレクトリが聞かれなくなる
(setq ess-ask-for-ess-directory nil)
;;;; R path (PATHが通っていない場合)
(setq inferior-R-program-name "C:/usr/local/R/R-2.10.1/bin/Rterm.exe")
;;;; R起動オプション
;(setq inferior-R-args "--vanilla")
;;;; ess-mode時にフレームサイズ変更
(defvar my-ess-frame-width 110 "ESSモード時のフレーム幅(zw)")
(defvar my-ess-frame-height 55 "ESSモード時のフレーム高(zw)")
(add-hook 'ess-mode-hook
`(lambda ()
(modify-frame-parameters
(selected-frame)
'((width . ,my-ess-frame-width)
(height . ,my-ess-frame-height)))))
;; ESS時のフレームサイズ
(setq my-ess-frame-width 128)
(setq my-ess-frame-height 64)
;; プロセスコーディング
(setq ess-pre-run-hook
'((lambda ()
(setq default-process-coding-system '(sjis . sjis)))))
;;;; window分割
(defun ess:format-window-1 ()
(split-window-horizontally)
(other-window 1)
(split-window)
(other-window 2))
(add-hook 'ess-pre-run-hook 'ess:format-window-1)
;;
;;;; コード色づけ ;;;;
;;;; ess-cust.el
;; (make-face 'R-face)
;; (set-face-foreground 'R-face "blue")
;; (font-lock-add-keywords 'ess-mode
;; '(("\\([][+*/^$@!<>&|=:%-]\\)" 1 R-face t)))
;(add-hook 'ess-mode-hook 'turn-on-font-lock)
;; (defface region
;; '((((class color) (background dark))
;; :background "orage")
;; (t :background "gray"))
;; "Basic face for highlighting the region."
;; :group 'basic-faces)
;;;; Rの演算子の色づけ
;; (font-lock-add-keywords
;; 'ess-mode
;; '(("\\([][+*/^$@!<>&|=:%-]\\)" 1 font-lock-builtin-face keep)))
(defface my-R-font-lock-access-operator-face
'((t (:foreground "red")))
"Used for displaying the region."
:group 'font-lock-builtin-face)
(setq my-R-font-lock-access-operator-face ' my-R-font-lock-access-operator-face)
(font-lock-add-keywords
'ess-mode
'(("\\([][$@]\\)" 1 my-R-font-lock-access-operator-face keep)))
;;;; Rの定数の色づけ
(font-lock-add-keywords
'ess-mode
'(("\\<\\(LETTERS\\|letters\\|.Machine\\|.Platform\\)\\>" 1 font-lock-constant-face keep)))
;;
;; ess-R-object-popup (C-c C-g) i
;; (popup.el) i
;; (auto-complete) i
;;
;;;; auto-complete.elとpopup.elが必要
(require 'popup)
(require 'ess-R-object-popup)
;;
;; 括弧補完 (brackets.el) i
;;
(load "brackets")
;;;; emacs-lisp-mode
(add-hook 'emacs-lisp-mode-hook
'(lambda()
(progn
(define-key emacs-lisp-mode-map "(" 'insert-parens)
(define-key emacs-lisp-mode-map "\"" 'insert-double-quotation)
(define-key emacs-lisp-mode-map "\C-c)" 'insert-parens-region)
)))
;;;; ess-mode
(add-hook 'ess-mode-hook
'(lambda()
(progn
;; { で{}を書く
(define-key ess-mode-map "{" 'insert-braces)
;; ( で()を書く
(define-key ess-mode-map "(" 'insert-parens)
;; " で""を書く
(define-key ess-mode-map "\"" 'insert-double-quotation)
;; [ で[]を書く
(define-key ess-mode-map "[" 'insert-brackets)
;; Ctrl+c }でregionを{}で囲む
(define-key ess-mode-map "\C-c}" 'insert-braces-region)
;; Ctrl+c )でregionを()で囲む
(define-key ess-mode-map "\C-c)" 'insert-parens-region)
;; Ctrl+c ]でregionを[]で囲む
(define-key ess-mode-map "\C-c]" 'insert-brackets-region)
;; Ctrl+c "でregionを""で囲む
(define-key ess-mode-map "\C-c\"" 'insert-double-quotation-region)
)))
;;
;; Aspell (aspell.exe)
;;
;(setq-default ispell-program-name "aspell")
;;;; 日本語まじりの文書をチェックしたい場合
;(eval-after-load "ispell"
; '(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
;;
;; Anything (anything.el, anything-config.el) (C-x b)
;;
;(require 'anything-config)
;;;; http://sheephead.homelinux.org/2009/10/26/1673/ ;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;anything-c-source-R-helpの設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq anything-c-source-R-help
'((name . "R objects / help")
(init . (lambda ()
;; this grabs the process name associated with the buffer
(setq anything-c-ess-local-process-name ess-local-process-name)))
(candidates . (lambda ()
(condition-case nil
(ess-get-object-list anything-c-ess-local-process-name)
(error nil))))
(action
("help" . ess-display-help-on-object)
("head (10)" . (lambda(obj-name)
(ess-execute (concat "head(" obj-name ", n = 10)\n") nil (concat "R head: " obj-name))))
("head (100)" . (lambda(obj-name)
(ess-execute (concat "head(" obj-name ", n = 100)\n") nil (concat "R head: " obj-name))))
("tail" . (lambda(obj-name)
(ess-execute (concat "tail(" obj-name ", n = 10)\n") nil (concat "R tail: " obj-name))))
("str" . (lambda(obj-name)
(ess-execute (concat "str(" obj-name ")\n") nil (concat "R str: " obj-name))))
("summary" . (lambda(obj-name)
(ess-execute (concat "summary(" obj-name ")\n") nil (concat "R summary: " obj-name))))
("view source" . (lambda(obj-name)
(ess-execute (concat "print(" obj-name ")\n") nil (concat "R object: " obj-name))))
("dput" . (lambda(obj-name)
(ess-execute (concat "dput(" obj-name ")\n") nil (concat "R dput: " obj-name)))))
(volatile)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; anything-c-source-R-localの設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq anything-c-source-R-local
'((name . "R local objects")
(init . (lambda ()
;; this grabs the process name associated with the buffer
(setq anything-c-ess-local-process-name ess-local-process-name)
;; this grabs the buffer for later use
(setq anything-c-ess-buffer (current-buffer))))
(candidates . (lambda ()
(let (buf)
(condition-case nil
(with-temp-buffer
(progn
(setq buf (current-buffer))
(with-current-buffer anything-c-ess-buffer
(ess-command "print(ls.str(), max.level=0)\n" buf))
(split-string (buffer-string) "\n" t)))
(error nil)))))
(display-to-real . (lambda (obj-name) (car (split-string obj-name " : " t))))
(action
("str" . (lambda(obj-name)
(ess-execute (concat "str(" obj-name ")\n") nil (concat "R str: " obj-name))))
("summary" . (lambda(obj-name)
(ess-execute (concat "summary(" obj-name ")\n") nil (concat "R summary: " obj-name))))
("head (10)" . (lambda(obj-name)
(ess-execute (concat "head(" obj-name ", n = 10)\n") nil (concat "R head: " obj-name))))
("head (100)" . (lambda(obj-name)
(ess-execute (concat "head(" obj-name ", n = 100)\n") nil (concat "R head: " obj-name))))
("tail" . (lambda(obj-name)
(ess-execute (concat "tail(" obj-name ", n = 10)\n") nil (concat "R tail: " obj-name))))
("print" . (lambda(obj-name)
(ess-execute (concat "print(" obj-name ")\n") nil (concat "R object: " obj-name))))
("dput" . (lambda(obj-name)
(ess-execute (concat "dput(" obj-name ")\n") nil (concat "R dput: " obj-name)))))
(volatile)))
;;;; anything.elの設定
(require 'anything-config)
(define-key global-map (kbd "C-x b") 'anything)
(setq anything-sources
'(anything-c-source-buffers
anything-c-source-emacs-commands
anything-c-source-file-name-history
anything-c-source-locate
anything-c-source-man-pages
anything-c-source-occur
anything-c-source-recentf
anything-c-source-R-local
anything-c-source-R-help
))
;;;; http://sheephead.homelinux.org/2009/10/26/1673/ ;;;;
;;
;; ac-anything.el i
;; auto-completeの候補をanythingで選択
;;
(require 'ac-anything)
(define-key ac-complete-mode-map (kbd "C-:") 'ac-complete-with-anything)
2010年3月12日金曜日
Emacs設定まとめ (Windows)
Emacs設定(.emacs)のまとめです(随時更新)。
Bloggerで「SyntaxHighlighter 2.x」を利用する
前の記事では、古い「SyntaxHighlighter 1.5.x」を使用していましたが、今回は新しい「SyntaxHighlighter 2」系をBloggerで利用する方法を紹介します。公式サイトはこちらです。2010年3月12日現在での最新バージョンは、2.1.364 です。しかしながら、以下で紹介する方法は常に最新バージョンを利用できるようになっております。今回はこちらと「Awesome code syntax highlighting made easy | Carter Cole's Blog」を参考にしました。
- 以下をBloggerテンプレートの
</head>
タグの前に貼り付ける:
もし、常に最新のバージョンではなく、特定のバージョンのものを利用したい場合は、「http://alexgorbatchev.com/pub/sh/current/」を「http://alexgorbatchev.com/pub/sh/2.1.364/」などに変更してください。
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'></script>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
「shBrush言語.js」は、公式サイトや他のサイトでも様々な言語のものが配布されているので、適宜必要なものを追加してください(公式サイトなどホスティングして提供されている所以外では、必ず自分でファイルを置く場所を確保し、そこから取得するようにしてください)。
また、スタイルシート「shThemeDefault.css」の代わりに自分の好みのものに変更することもできます。 - ブログエントリのときに、「HTML の編集」タブを選択し、以下のように入力する:
CDATA
でコードを囲った特別な<script>
タグを使用する方法:<script type="syntaxhighlighter" class="brush: html"><![CDATA[
ここにコードを張り付ける
]]></script>- もしくは
<pre>
を使用する方法(HTMLエスケープはQuick Escapeのサイトで簡単にできます):<pre class="brush: html">
ここにHTMLエスケープされたコードを貼り付ける
</pre>
brush: html
」の部分はこちらを参考にして、適宜「brush: Ruby」などに変更してください。
Bloggerで「SyntaxHighlighter」を利用する
(注:この記事は古い「SyntaxHighlighter 1.5.x」を使用したものです。「SyntaxHighlighter 2.0」が2009年2月3日にリリースされており、新しいバージョンを利用する方法の記事はこちらにあります。)
Bloggerに限らず、Webページ上で様々なプログラミング言語のコードを載せる機会はあると思います。掲載したコードを色付けして見やすくするためには、いくつかの方法があると思いますが、今回は「SyntaxHighlighter」というjavascriptを利用することで実現します。
このブログはBloggerで運用していますので、Bloggerで「SyntaxHighlighter」を利用する方法を紹介します。
「Adding Syntax Highlighting to Blogger」を参考にしました。
Bloggerに限らず、Webページ上で様々なプログラミング言語のコードを載せる機会はあると思います。掲載したコードを色付けして見やすくするためには、いくつかの方法があると思いますが、今回は「SyntaxHighlighter」というjavascriptを利用することで実現します。
このブログはBloggerで運用していますので、Bloggerで「SyntaxHighlighter」を利用する方法を紹介します。
「Adding Syntax Highlighting to Blogger」を参考にしました。
- http://syntaxhighlighter.googlecode.com/svn/trunk/Styles/SyntaxHighlighter.cssにアクセスし、全てをコピーする
- Bloggerの「HTML編集」で
<b:skin><!--[CDATA[/*
と]]--></b:skin>
の間に貼り付ける </head>
タグの前に以下を貼り付ける<!-- Add-in CSS for syntax highlighting -->
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shCore.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushDelphi.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJava.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushVb.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushXml.js' type='text/javascript'></script></body>
タグの前に以下を貼り付ける
<!-- Add-in Script for syntax highlighting -->
<script language='javascript'>
dp.SyntaxHighlighter.BloggerMode();
dp.SyntaxHighlighter.HighlightAll('code');
</script>- ソースコードを含むブログエントリーのときに、「HTML の編集」タブを選択し、HTMLエスケープされたソースコードを以下のコードの間に入力する
<pre name="code" class="cpp">
"cpp"の部分は、コードの言語にあわせて書き換えてください(cpp, c, c++, c#, c-sharp, csharp, css, delphi, pascal, java, js, jscript, javascript, php, py, python, rb, ruby, rails, ror, sql, vb, vb.net, xml, html, xhtml, xslt).(詳細はこちら
...あなたのHTMLエスケープされたコードここに貼り付ける...
</pre>
)
2009年9月13日日曜日
統計データ検索サービス「Internet Stats」
Google、統計データ検索サービス「Internet Stats」をスタート というニュースがありました。この記事によると、
Google Internet Statsはこちらから。カテゴリーとしては、
さまざまなカテゴリーの最新業界データや分析を、オンライン上のサードパーティーのデータから抽出し、提供するというもの。ユーザーは用意されているカテゴリーをクリックしたり、検索枠に調べたい単語を入力することで、短くまとめられた情報と、その情報源のサイト名が表示される。だそうです。
Google Internet Statsはこちらから。カテゴリーとしては、
- Macro Economic Trends(マクロ経済トレンド)
- Technology(技術)
- Consumer Trends(消費者トレンド)
- Media Consumption(メディア消費)
- Media Landscape(メディア観測)
2009年8月24日月曜日
Rで仮想クラス (virtual class) の定義をする
Rでは、仮想クラス (virtual class) というものがあります。
他の言語でいうところの抽象クラス (abstract class) に相当するものです。
仮想クラスは、抽象クラス同様、インスタンスを生成できないようになっています。
以下、PHPの抽象クラスとRの仮想クラスです。
まず、PHPから。
次は、Rです。
他の言語でいうところの抽象クラス (abstract class) に相当するものです。
仮想クラスは、抽象クラス同様、インスタンスを生成できないようになっています。
以下、PHPの抽象クラスとRの仮想クラスです。
まず、PHPから。
<?php
abstract class Animal {
public $color;
public function eat() {
print("むしゃむしゃ");
}
protected abstract function cry();
}
class Dog extends Animal {
public function cry() {
print("ワンワン");
}
}
//doubutsu = new Animal();
// //Fatal error: Cannot instance abstract class Animal
wanchan = new Dog();
wanchan->eat();
wanchan->cry();
?>
次は、Rです。
setClass("Animal",
representation=representation(color="character", "VIRTUAL"))
setGeneric("eat", function(this) standardGeneric("eat"))
setGeneric("cry", function(this) standardGeneric("cry"))
setMethod("eat", "Animal",
function(this) {
print("むしゃむしゃ")
})
setClass("Dog", contain="Animal")
setMethod("cry", "Dog",
function(this) {
print("ワンワン")
})
#doubutsu <- new("Animal")
# #Error in new("Animal") :
# # trying to generate an object from a virtual class ("Animal")
wanchan <- new("Dog")
eat(wanchan)
cry(wanchan)
2009年7月5日日曜日
ANS-9010のベンチマーク(Win7RC32bit・RAIDなし)
環境は以下のとおりです。
【製品名】ANS-9010
【基盤】Rev. 3.3
【ファーム】1.09
【メモリ】APG800-2GX2 / 2*4set=8枚
【ECC】エミュレート機能ON
【CPU】Intel Core2Duo
【M/B】Asus P5Q-EM (G45 & ICH10R)
【メモリ】APG800-2GX2 / 2*1set=2枚
【電源】内部電源
【SATA】SATAII / 1port
【RAID】なし(ICH10R)
【OS】Windows 7 Ultimate 32bit RC
【環境】起動ドライブ
【ベンチ】CrystalDiskMark 2.2
以下、ベンチマーク結果です。
【製品名】ANS-9010
【基盤】Rev. 3.3
【ファーム】1.09
【メモリ】APG800-2GX2 / 2*4set=8枚
【ECC】エミュレート機能ON
【CPU】Intel Core2Duo
【M/B】Asus P5Q-EM (G45 & ICH10R)
【メモリ】APG800-2GX2 / 2*1set=2枚
【電源】内部電源
【SATA】SATAII / 1port
【RAID】なし(ICH10R)
【OS】Windows 7 Ultimate 32bit RC
【環境】起動ドライブ
【ベンチ】CrystalDiskMark 2.2
以下、ベンチマーク結果です。
--------------------------------------------------
CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo
Crystal Dew World : http://crystalmark.info/
--------------------------------------------------
Sequential Read : 185.559 MB/s
Sequential Write : 152.385 MB/s
Random Read 512KB : 185.125 MB/s
Random Write 512KB : 151.968 MB/s
Random Read 4KB : 70.357 MB/s
Random Write 4KB : 61.174 MB/s
Test Size : 50 MB
Date : 2009/07/05 18:15:13
2009年5月26日火曜日
ANS-9010のベンチマーク(VistaUltimate32bit・RAID0)
環境は以下のとおりです。
【製品名】ANS-9010 / 2台
【基盤】Rev. 3.3
【ファーム】1.09
【メモリ】APG800-2GX2 / 2*8set=16枚
【ECC】エミュレート機能ON
【CPU】Intel Core2Duo
【M/B】Asus P5Q-EM (G45 & ICH10R)
【メモリ】APG800-2GX2 / 2*1set=2枚
【電源】内部電源
【SATA】SATAII / 1port * 2台
【RAID】有(ICH10R・RAID 0・128kb)
【OS】Windows Vista Ultimate 32bit
【環境】起動ドライブ
【ベンチ】CrystalDiskMark 2.2
以下、ベンチマーク結果です。
【製品名】ANS-9010 / 2台
【基盤】Rev. 3.3
【ファーム】1.09
【メモリ】APG800-2GX2 / 2*8set=16枚
【ECC】エミュレート機能ON
【CPU】Intel Core2Duo
【M/B】Asus P5Q-EM (G45 & ICH10R)
【メモリ】APG800-2GX2 / 2*1set=2枚
【電源】内部電源
【SATA】SATAII / 1port * 2台
【RAID】有(ICH10R・RAID 0・128kb)
【OS】Windows Vista Ultimate 32bit
【環境】起動ドライブ
【ベンチ】CrystalDiskMark 2.2
以下、ベンチマーク結果です。
--------------------------------------------------
CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo
Crystal Dew World : http://crystalmark.info/
--------------------------------------------------
Sequential Read : 337.814 MB/s
Sequential Write : 281.075 MB/s
Random Read 512KB : 332.743 MB/s
Random Write 512KB : 277.410 MB/s
Random Read 4KB : 52.621 MB/s
Random Write 4KB : 47.661 MB/s
Test Size : 100 MB
Date : 2009/05/26 9:02:13
2008年9月20日土曜日
USBメモリ「HUD-4GLD-BK」のベンチマーク
ハギワラ シスコムのUSBメモリ「HUD-4GLD-BK」についてです。
2008年9月18日にAmazon.co.jpで購入。
ロット番号は TM80902D でした。
以下、ベンチマーク結果です。
2008年9月18日にAmazon.co.jpで購入。
ロット番号は TM80902D でした。
以下、ベンチマーク結果です。
--------------------------------------------------
CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo
Crystal Dew World : http://crystalmark.info/
--------------------------------------------------
Sequential Read : 30.732 MB/s
Sequential Write : 15.116 MB/s
Random Read 512KB : 30.825 MB/s
Random Write 512KB : 5.005 MB/s
Random Read 4KB : 7.063 MB/s
Random Write 4KB : 0.127 MB/s
Test Size : 50 MB
Date : 2008/09/20 16:53:11
登録:
投稿 (Atom)