Google
SSブログ

Emacs 疑問(随時編集) [メモ]



・編集(変更)行の色を指定する方法
未解決


・Emacsでソフトタブを使う方法
;;20100618 Add Start
変数indent-tabs-modeにnilを設定すれば良いようだ。
.emacs に下記を追加した。
(setq-default indent-tabs-mode nil)
タブストップの位置はtab-stop-listと呼ばれる変数に格納されているようである。
私は4バイト幅でのタブストップが好きなので、.emacs への追加は下記。
(setq-default tab-stop-list
  '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88))
;;20100618 Add End


・Windows上のEmacsで grep を使う方法
未解決
;;20100714 Add Start
gnupackで可能だった。
;;20100714 Add End



・ Windows上のEmacsでdiffを使う方法
未解決
;;20100714 Add Start
gnupack
可能だった。
;;20100714 Add End



・Windows上のEmacsで拡張子を Emacs に関連付けてダブルクリックで開いたり、ファイルを選択して右クリック→送るでEmacsに送ったりする際に、既にEmacsが起動していたら新規で Emacsを立ち上げず、起動しているEmacsで開く方法
;;20100618 Add Start
gnuserv というものを使うとできそう?
今後も要調査。
;;20100618 Add End
;;20100621 Add Start
http://d.hatena.ne.jp/gan2/20080131/1201782439
に、1つの Meadowで複数のファイルを開く方法について書かれており、

導入の手間は emacsclient の方が少ないけど、使い心地は gnuserv  の方がいい

とのことだが、取りあえず導入の手間が少ない方が良いので、emacsclient を試す。
今後も要調査。
;;20100621 Add End
;;20100622 Add Start
http://www.bookshelf.jp/texi/emacs-man/21-3/jp/faq_5.html
によると

Emacs 配布パッケージに付属する emacsclient を使えば既に起動している Emacs と通信してファイルを編集するように指示できます。そのために Emacs 側で設定をしておく必要があります。
emacsclient からの要求を受け付けるように Emacs で関数 server-start を実行します。コマンドラインから指定するには次の様にします。
emacs -f server-start

とのこと。

ってことは、emacsを最初に立ち上げることが前提になる。


多くのテキストエディタは、関連付けられた拡張子のファイルのダブルクリックや右クリックの「送る」で指定したら勝手に立ち上がるのが当たり前なので、その動きと同様にさせたい。


http://kgo.dtiblog.com/blog-entry-60.html


を参考に、emacsが立ち上がっているかを判断して、emacs立ち上げ後にemacsclientを立ち上げるバッチファイルを無理やり作ってみた。


@ECHO OFF

TASKLIST | FIND "emacs.exe" > NUL
IF NOT ERRORLEVEL 1 (
    REM プロセスが起動していた場合
    ECHO emacsは起動しています。
    C:\home\local\emacs-23.2-20100508\bin\emacsclient.exe %1
) ELSE (
    ECHO emacsが起動していません。
    C:\home\local\emacs-23.2-20100508\bin\runemacs.exe -f server-start
    REM Sleep時間をミリ秒で指定
    SET SLEEPTIME=3000
    ECHO WScript.sleep %SLEEPTIME% > C:\home\local\sleep.vbs
    REM sleep
    cscript.exe sleep.vbs > NUL
    C:\home\local\emacs-23.2-20100508\bin\emacsclient.exe %1
)

EXIT



起動していない場合にsleep云々を入れているのは、そうしないとemacsが立ち上がる前にemacsclientが実行され、落ちてしまうから。

最初は起動していない場合は
runemacs.exe -f server-start %1
としていたが、文字コードの関係からか、ファイル名に「~」等が含まれていると新規ファイルと認識されてしまって上手くいかなかった。

作成したバッチファイルを、望みの拡張子に関連付けし、ショートカットをSendToフォルダに入れて、一応は望みの動作になった。

もっとちゃんとしたスマートなやり方があるはずだが、取りあえずは上記で運用してみる。

;;20100622 Add End

;;20100723 Add Start

・Windows上のEmacsのdiredで、ファイル名やフォルダ名にいわゆる「だめ文字」を含む時に開けない


未解決
;;20100723 Add End

 


タグ:Emacs
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。