Tags : emacs-lisp

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

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 プログラミングをやってみようと思う。