- ansi 20150703.126(in MELPA)
- Turn string into ansi strings
概要
ansi.el は文字列にANSIエスケープシーケンスを付加する関数群です。
端末の文字に色をつけたくてもエスケープシーケンスを忘れた場合に
役立つことでしょう。
以下のように使います。
;; 文字色 (ansi-red "foo") ; => "\e[31mfoo\e[0m" (ansi-blue "bar") ; => "\e[34mbar\e[0m" ;; 背景色 (ansi-on-red "foo") ; => "\e[41mfoo\e[0m" (ansi-on-blue "bar") ; => "\e[44mbar\e[0m" ;; スタイル (ansi-bold "foo") ; => "\e[1mfoo\e[0m" (ansi-blink "bar") ; => "\e[5mbar\e[0m" ;;; DSL化!with-ansiでansi-プレフィクスを省略できる ;; 文字色 (with-ansi (red "foo") ; => "\e[31mfoo\e[0m" (blue "bar") ; => "\e[34mbar\e[0m" ) ;; 背景色 (with-ansi (on-red "foo") ; => "\e[41mfoo\e[0m" (on-blue "bar") ; => "\e[44mbar\e[0m" ) ;; スタイル (with-ansi (bold "foo") ; => "\e[1mfoo\e[0m" (blink "bar") ; => "\e[5mbar\e[0m" ) ;;; format + ansi-XXX (ansi-apply 'red "foo %s" "bar") ; => "\e[31mfoo bar\e[0m" ;;; カーソル移動 (ansi-up) ; => "\e[1A" (ansi-down 3) ; => "\e[3B" (ansi-csi-apply 'forward) ; => "\e[1C" (ansi-csi-apply "J" 10) ; => "\e[10J" ;;; ネスト可能 (ansi-bold (ansi-red (ansi-blink "foo bar"))) ;; => "\e[1m\e[31m\e[5mfoo bar\e[0m\e[0m\e[0m" (with-ansi (bold (red (blink "foo bar")))) ;; => "\e[1m\e[31m\e[5mfoo bar\e[0m\e[0m\e[0m"
eshellはある程度エスケープシーケンスに対応しているので、
色を確かめられます。
Fig1: eshellで動作確認
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてansiを使う方は
以下のコマンドを実行します。
M-x package-install ansi
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name ansi
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。