記事一覧

c-mode のインデント幅(style)を変更する

c-mode のインデント幅は デフォルトではスペース2個分で、
タブの替わりにスペースが入力されます。

C言語ではこの記法は好きではないので、
スペース4個分タブが入力されるようにします。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; c-mode のインデントをスペース4個分のタブにする
(add-hook 'c-mode-common-hook
          '(lambda ()
             (c-set-style "k&r")
     (setq c-basic-offset 4)
     (setq indent-tabs-mode t)
     (setq tab-width 4)))

日本語の locale が設定されている時の dired 対策

日本語の locale が設定されていると、時間が日本語表示となってdired が正常に使えなくなる時があります。

その場合、insert-directory 関数を使います。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 日本語の locale が設定されている時の dired 対策
(require 'ls-lisp)
(defadvice insert-directory
  (around reset-locale activate compile)
    (let ((system-time-locale "C"))
        ad-do-it))

kill-whole-line

kill-whole-line は、カーソル位置に拘わらず、行全体を削除しますが、
Emacs22 以降でないと kill-whole-line はありません。

Emacs21で同様の動きをするには、

(defun kill-all-line (&optional numlines)
  (interactive)
  (setq pos(current-column))
  (beginning-of-line)
  (kill-line numlines)
  (move-to-column pos))

といった感じで、関数定義(ここでは kill-all-line)をする必要があります。

Emacs21な環境での苦肉の策です(^^;

FreeBSD ports の kterm

ports から kterm をインストールするときに、

オプションの XAW3DLIB を on にすると、

Xaw3d-1.5E_3 is already installed
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of x11-oolkits/Xaw3d
without deleting it first, set the variable FORCE_PKG_REGISTER" in your environment or the "make install" command line.

なんて出ます。

仕方ないので、

# export FORCE_PKG_REGISTER=yes

とすると、

Xaw3d-1.5E_3 のインストールに成功したにもかかわらず、

Error: shared library "Xaw3d.6" does not exist

Error code 1

となって kterm のインストールに失敗しました。

またまた仕方ないので、

# cd /usr/local/lib
# ln -s libXaw3d.so.8 libXaw3d.so.6

と、無理やりシンボリックリンクをはってあげると、kterm のインストールができました。

私の環境が悪いのか、ports のつくりが悪いのか分かりません。

kterm を入れたのは、X-Face を久しぶりに見たくなっただけなのですが、もともと X を入れてなかったので、コンパイルに5時間近くかかってしまいました。山ほど依存関係があるのを忘れていました。

Emacs23.1 の内部コード

Emacs23.1 の内部コードがUTFですが、私は普段EUCを使っています。

browse-kill-ring.el を使うと KILL-RINGバッファが文字化けしました。

~/.emacs を色々いじってみたもののうまくいかないので、仕方なくEmacs22.3 に戻してしまいました。

Emacs 23.1のインストール

FreeBSD 7-stable をクリーンインストールしたところ、Emacs 23.1 が無事コンパイルできました。

どうも、古い libdb がコンフリクトしていたようです。

ports も Emacs 23.1 になっていますので、簡単にインストールできます。

ちなみに、perl が 5.10 になってたのでびっくりしました。
ずっと 5.8 だった私には、なかなかついていけません。

NTEmacs の記事の文字化けを直しました。

http://www.yumi-chan.com/windows-de-unix/NTEmacs.html

かなり古い記事ですが、NTEmacs の記事の文字化けを直しました。
リンク切れは面倒なのでチェックしてません。(おいおい)

実はこのサイト、バックアップを取ってなくて、ハードディスクが逝ってしまった時、Google のキャッシュから復元したのです。そのキャッシュがなぜか文字化けしてまして、ズボラな私は今まで放置してたのでした。なぜ文字化けしてたのかは謎です。今は cron で、毎日バックアップをとってるので大丈夫です。