Tags : emacs

このTagsの登録数:5件 表示 : 1 - 5 / 5

2007-06-06

emacsでファイル開いたら文字化けしてたときに文字コードを指定して読み直す方法

emacsでHTMLをいじってるとよく文字コード判定に失敗するので、そのときの対応方法を調べた。以下でok

C-x C-m s utf-8[RET] C-x C-v
C-x C-m s
universal-coding-system-argument
Execute an I/O command using the specified coding system.
utf-8
指定するcoding-system。utf-8, sjis, euc-jp等
C-x C-v
find-alternate-file
Find file filename, select its buffer, kill previous buffer.

2007-05-17

emacs22 (emacs-snapshot)にしてみた

debian に emacs22 を入れたら日本語がやっとまともに使えるようになったのでその備忘録。

debian etch で普通に入れた emacs21 + mule-ucs (utf-8) でどうしても日本語が化けたり、ダブルバイト文字の文字幅がシングルになってしまう。

軽く調べても mule-ucs を入れましょうで終わってるのがほとんどだったのだが、入れててもダメ。(require 'un-define)も念のために .emacs に入れたけど変わらず。

端末の問題かと思ったのだけれど、osx上のiTermも、xpのPutty, Poderosaでも変わらず。vimならちゃんとなるので、どうもemacsだけの問題っぽい。

さらにいろいろ調べてると、どうもみんな emacs-snapshot (emacs22) を入れてるらしい。 emacs22からはutf-8の対応が本体に組み込まれているのでmule-ucsの重いのもカイゼンされるとか。というわけで試してみた。

いったんemacs21を全部purgeしたあと、この辺の記事を参考に、sources.listをいじって apt-get install や aptitude で入れてみる。

[O] Debian Etch Linuxをインストールした

- /etc/apt/source.listにsid用の行を追加
- apt-get update
- apt-get install emacs-snapshot emacs-snapshot-el anthy-el
- さっき追加したsidの行をコメントアウト

/etc/apt/sources.list に一時的に追加したのは以下2行。

deb http://ftp.dti.ad.jp/pub/Linux/debian/ sid main
deb-src http://ftp.dti.ad.jp/pub/Linux/debian/ sid main

これで apt-get install emacs-snapshot を実行。依存関係のある他のパッケージも何個かはいった。

.emacsは自分オリジナルをそのまま変えずにためしに起動する。 問題なし。日本語もちゃんとでるし、カーソル移動も正しい文字幅で移動する。

というわけで、今後etch入れたら emacs は snapshot (emacs22)を使うべきのようだ。単に調べがたりないだけのような気もするけど、emacs22 のリリースもそろそろのようなので、これ以上深追いしてもしかたないと判断した。

2006-08-30

Emacsでリモートファイルを編集

こんなに便利なものがあったとは。

EmacsMemo/TRAMP - メモWiki

TRAMPというEmacs-lispパッケージを使うとリモートのファイルをローカルのファイルと同じように扱える。ange-ftpと違ってftpだけでなく、sshやrcpなども使えるのが特徴。

Carbon Emacs には標準で入ってるので、.emacs で(require 'tramp)するだけで使える。debian は apt-get install trampで。

  • find-file で以下のように入力すれば、ssh+/bin/sh経由でリモートファイルを開ける。
  • /ssh:[username]@[hostname]:[path]
    
    ディレクトリを開けばdired。
  • /etc/fstab を root として編集。
  • /su:root@localhost:/etc/fstab 
    
  • sshで[gateway]ホストを踏み台にして[target]ホストの[path]を開く。
  • /multi:ssh:[username]@[gateway]:ssh:[username]@[target]:[path]
    

もう別途sshで入る必要ないし、apache の設定を変更するために、sudo で vi したりする必要もないね。

2006-08-29

Eshell で DarwinPorts の Ruby を使う

これ2週間ぐらい我慢してたんだけど、今日やっとgoogleでみつかった。ありがたい。

KoshigoeBLOG: 環境変数が入り乱れてるのが嫌

.emacs.elにパス情報を加えて対応。
;;; ;;; ENV
(setq exec-path (cons "/opt/local/bin" exec-path))
(setenv "PATH"
  (concat "/opt/local/bin:" (getenv "PATH")))

DarwinPorts で ruby-1.8.4 を入れると /opt/local/bin/ruby に入るんだけど、Eshell から ruby を起動してもシステム標準の /usr/bin/ruby (1.8.2) が起動しててこまってたわけです。

"CarbonEmacs PATH DarwinPorts" とかで探したんだけど、結構後ろの方にあって見つけるのが大変だった。

しかしこれくらい自分で思いつかないといかん。

結局まだまだ emacs わかってないってことですね。emacs-lisp をもっと理解するために、unit test がらみの何かがをネタに、emacs lisp プログラミングをやってみようと思う。

2006-08-28

Carbon Emacs でアンチエイリアスを切る

google で探したら。

CarbonEmacsでアンチエイリアスオフ - Drift Diary11

% defaults write org.gnu.Emacs AppleAntiAliasingThreshold 14

これをshellで打ち込み、emacs再起動。

非常に快適です。