FreeBSD Mule 設定活用概論第1

Last Update (2001/01/12 03:33:04)

ミラーサイト [www.ceres.dti.ne.jp] [yk.rim.or.jp]

[ホームページ] [日記] [読んでいる日記] [秋葉原価格] [FreeBSD] [FreeBSD LINK] [検索] [高速検索]

mule設定のあれこれ

多国語対応エディタmule。 その奥技は果てしなく広く、深い。 ここでは、ほんのちょっとだけ便利な設定技を紹介する。
FreeBSD 2.2.5Rのmuleパッケージには若干の問題があるので、muleの紹介も見て欲しい。

基本技篇

  1. まずはFAQを読もう。
    muleには、各国語のFAQ(よくある質問とその答え)が付いているので、これを読もう。 当然日本語のFAQのファイルもある。 /usr/local/lib/mule/19.28/etc/FAQ-Mule.jp が日本語のFAQファイルなので参照してみて欲しい。
    FreeBSD 4.1の場合は/usr/local/share/lib/mule/19.34/etc/FAQ-Mule.jpにある。
  2. muleの操作を練習しよう。
    /usr/local/lib/mule/19.28/etc/TUTORIAL.jpというファイルが、muleの基本操作の説明テキスト&練習材料になっている。 このファイルをホームディレクトリにコピーして、muleで開いてみよう。 FreeBSD 4.1の場合は/usr/local/share/lib/mule/19.34/etc/TUTORIAL.jpにある。
  3. ESC スペースでマークセットにする
    muleをコンソールからで実行すると、CTRL+スペースで set-mark-command にならないことがある。 (キーボード定義ファイル内部の設定が原因だ。FreeBSD 2.2.6R以降では修正されているので問題は無い。) このままだとマークセットができないので、以下のように.emacsに記述すると、ESC スペースでマークセットになる。
    ;
    ;	set META SPC to set-mark-command
    ;
    (global-set-key "\e " 'set-mark-command);
          
  4. text-modeでオートインデントするように設定する
    メールなどを記述する際には、きれいに整形されると気分がよいものだが、text-modeになると自動的にテキストを65桁で整形するようにする方法を紹介する。 以下のように.emacsに記述する。
    ;
    ;	text mode でオートインデントするよーん。
    ;
    (add-hook 'text-mode-hook
    	  '(lambda ()
    	     (progn
    	       (set-fill-column 65)
    	       (turn-on-auto-fill))))
          
    余談だが、上記の設定は html-helper-mode.el と相性が悪いので現在は使っていない。
  5. モードラインに現在時刻を表示する
    muleのモードライン([--]J.:--**--Mule:などと表示されている部分)に現在時刻を表示するように設定する。 以下のように.emacsに記述する。
    ;
    ;	display time into mode line
    ;
    (display-time)
          
  6. モードラインに現在カーソルのある行番号を表示する
    muleのモードライン([--]J.:--**--Mule:などと表示されている部分)に現在カーソルのある行番号を表示するように設定するには、以下のように~/.emacsに記述する。
    ;
    ;	display line number
    ;
    (line-number-mode 1)
          
  7. カラフルな表示にする
    muleは、Cやlispなどの言語を編集している場合など、コメントや予約語をカラーで表示してくれるように設定できる。 多少動作は重くなるが、結構きれいなので好きである。 以下のように.emacsに記述する。
    ;
    ;	set color mode if running under window system 
    ;
    (cond (window-system
           (require 'hilit19)))
          
    ウィンドウシステム上で動作している場合のみ、hilit19をロードする設定にしてある。
  8. diredで圧縮されたファイルも扱えるようにする
    DOSやWindowsのファイラーでは、圧縮されたファイルの内容を見ることが出来るが、muleのdiredモードでも同様の機能を利用可能にすることができる。 以下のように.emacsに記述する。
    ;
    ;	enable dired to access compressed file
    ;
    (load "jka-compr")
          
  9. BSとDELを入れ換える
    デフォルトではCTRL+Hでヘルプが表示されるのだが、CTRL+Hでバックスペースというキーバインドに慣れている人も多いと思う。 滅多に使わないDELキーとBSキー(CTRL+Hキー)を入れ換えて、CTRL+Hでバックスペースのバインドにするのも良いだろう。
    ;; BSとDELを入れ換える
    (load-library "term/bobcat")
          
  10. ESC-/ で、ヘルプを出す。 上の指定をしてしまうと、今度はヘルプが出しにくくなってしまう。 そこで、ESC-/でヘルプが出るように設定してみる。
    ;    ESC-/ で、ヘルプを出す。
    (global-set-key "\M-/" 'help-for-help)
          
  11. ESC-g で goto-line にする
    しばしば、「エラー発生:250 Line」などと表示され、該当の行へ移動したい場合があるが、デフォルトではカーソルを指定の行に移動させるキーバインドは無い。 そこで、キーバインドを追加してみよう。
    ;    ESC-g で goto-line にする
    (global-set-key "\M-g" 'goto-line)
          
    M-x compile や M-x grep を利用した結果 hoge.c:250: ... などと表示されている場合は、該当行までカーソルを移動して Ctrl-C Ctrl-C とタイプすると該当行までジャンプしてくれる。
    (mule-19.34の場合は、該当行までカーソルを移動した後にリターンキーを押すと、該当ファイルの該当行へジャンプする。)
  12. mule起動後にフォントサイズを変更する
    Ctrlキーを押しながらマウスの右ボタンをクリックすると、フォント変更メニューがでてくる。 (mule-19.34の場合は、Shiftキーを押しながらマウスの左ボタンをクリックする。)

日本語入力篇

  1. Canna対応muleを使えるようにする。
    Cannaをmuleで利用するには、~/.emacsに以下のように記述して、最初にCannaサーバーと接続をしなければならない。
    ;
    ; connect canna server
    ;
    (if (and (boundp 'CANNA) CANNA) ; Is it CANNA MULE?
      (progn
        (load-library "canna")
        (canna) ))
          
  2. Canna対応muleで辞書登録をする。
    ESC x canna-extend-mode と入力してメニューを選択すると、辞書登録や登録単語削除などの作業を行う事ができる。
    すでにテキストとして入力されている文字列を単語登録するには、CTRL スペースのあとカーソル移動で領域を選択して、ESC x canna-touroku-region とする。
  3. Wnn6対応muleの設定
    mule-wnnでWnn6のjserverを変換サーバに指定するには、~/.emacsに下記のように指定すると良いらしい。
    ;
    ;  Wnn6 + mule-wnn jserver settings
    ;
    (setq jserver-list '("localhost"))
    (setq wnn-english-messages nil)
    (setq wnn-server-type 'jserver)
          
    その後、同様な指定は下記の1行を~/.emacsに記入すれば済むとの情報が入った。
    ;
    ;  Wnn6 + mule-wnn jserver settings (new version)
    ;
    (set-wnn-host-name "localhost")
          
  4. Wnn対応muleで「ん」の処理をATOKライクにする
    Wnnのデフォルトでは「n」で「ん」に変換されるのだが、ATOKなどに慣れていると「nn」で「ん」に変換してくれないと不便である。 以下のように.emacsに記述すると、「nn」が「ん」に変換されるようになる。
    ;
    ;	Wnn de n no syoriwo ATOK like ni suru.
    ;
    (setq enable-double-n-syntax t)
          
  5. CannaとWnn6の両方に対応しているmuleで、CannaとWnn6を切替えて使う。
    私は普段はCannaを使っているのだが、Cannaはデフォルトの辞書が弱く熟語などは変換できない事が多い。 上記のCanna用設定を行っているだけでは、Ctrl+\でWnn6が起動できなくなる。 Ctrl+OでCanna、Ctrl+\でWnn6が起動する設定にするには、上記のCanna用設定に加えて、~/.emacsに以下の行を追加すると良い。
    ;
    ;  Canna と Wnn を切替えて使えるようにする
    ;
    (load "can-n-egg")
    (can-n-egg)
          

C, C++言語, perl篇

  1. 拡張子が.cppのファイルをc++モードにする
    muleのデフォルトでは、拡張子が.cppのファイルはC++-modeにならないようだ。 そこで、~/.emacsに記述して、.cppという拡張子をもつファイルを開いた場合に自動的にC++モードにする設定をしてみよう。
    ;
    ;	.cppはc++モードにする。
    ;
    (setq auto-mode-alist (cons '("\\.cpp$" . c++-mode) auto-mode-alist))
    
  2. c mode, c++ modeで簡単コンパイル
    c modeとc++ modeでCTRL+C CTRL+Cと押すとコンパイルしてくれるようにキーバインドを変更してみよう。 下記のように.emacsに記述する。 c modeとc++ modeで2回定義しているのは無駄なように見えるが、c modeとc++ modeで共通の設定を行うc-mode-common-hookが何故か役に立たなかったので、下記のように指定している。
    (setq c-mode-hook '(lambda ()
      (define-key c-mode-map "\C-c\C-c" 'compile)
      (define-key c-mode-map "\C-c\C-n" 'next-error)) t)
    ;
    (setq c++-mode-hook '(lambda ()
      (define-key c++-mode-map "\C-c\C-c" 'compile)
      (define-key c++-mode-map "\C-c\C-n" 'next-error)) t)
          
  3. mule の c-mode のインデントを K&R 風にする。
    muleのc-mode(C言語を書く時に使うモード)のインデントは、GNU風になっている。 慣れの問題だと思うが、個人的にはK&R風のインデントが好みである。 そこで、 ~/.emacs に下記の記述を追加しよう。 これで、K&R風なインデントになるはずだ。
    上記の設定(^C ^C でコンパイル)の設定に加える場合には、c-mode-hook の内部に追加して書く。
    ;
    ;	C モードのインデントを K&R 風にする。
    ;	c-mode-hook に追加するバージョン
    ;
    (add-hook 'c-mode-hook '(lambda ()
      (define-key c-mode-map "\C-c\C-c" 'compile)
      (define-key c-mode-map "\C-c\C-n" 'next-error)
      (setq tab-width 8) 
      (setq c-indent-level tab-width)
      (setq c-brace-imaginary-offset 0)
      (setq c-brace-offset (- tab-width))
      (setq c-argdecl-indent tab-width)
      (setq c-label-offset (- tab-width))
      (setq c-continued-statement-offset tab-width)) t)
          
  4. *.pl というファイルは自動的にperl-modeにする
    デフォルトの設定では perl-mode になってくれなかったので、~/.emacs に下記の設定を追加するとちょっぴり幸せになる。
    ;
    ;	.pl ファイルは perl-mode にする。
    ;
    (setq auto-mode-alist (cons '("\\.pl$" . perl-mode) auto-mode-alist))
          
    特定の拡張子を持つファイルを特定のモードでオープンするには、上の "\\.pl$" の部分の「pl」を、指定する拡張子にして、「perl-mode」の部分を指定するモードにすれば良い。
    ファイル名の指定部分("\\.pl$")は正規表現で記述する。 以下に、ほんのちょっとだけ正規表現の解説をしておく。 この場合、 *.pl というファイル名の場合だけ perl-mode にしたいので、 という経過を経て上のような設定になる。

フォント設定篇

  1. muleで使用するフォントのサイズを14に変更する。
    muleは通常、縦16ドットのフォントを用いるのだが、ノートPCなど、画面の狭いマシンではフォントが大きすぎる。 そこで、X Window System のリソースファイル(~/.Xresourcesか~/.Xdefaults)に下記の記述を追加しよう。
    Emacs*FontSetList: 14,24
    Emacs*FontSet-14: -*-fixed-medium-r-*--14-*-iso8859-1
    Emacs*FontSet-24: -*-fixed-medium-r-*--24-*-iso8859-1
          
    この設定で、muleが使用するフォントは縦14ドットのものになる。
  2. muleでしようするフォントのサイズを10に変更する。
    FreeBSD 2.2.6Rにはja-naga10-1.0.tgzという10ドットフォントのパッケージが用意されている。 10ドットまでくると、漢字などはつぶれてしまって読みにくくなるものだが、フォント作者の腕でかなりカバーされている。 このフォントを利用する場合は、X Window System のリソースファイル(~/.Xresourcesか~/.Xdefaults)に下記の記述を追加しよう。
    ! ナガ10フォント用設定
    Emacs*FontSetList: 10,24
    Emacs*FontSet-10:\
    -misc-fixed-medium-r-normal--10-90-75-75-c-50-iso8859-1,\
    -misc-fixed-medium-r-normal--10-90-75-75-c-50-jisx0201.1976-0,\
    -misc-fixed-medium-r-normal--10-90-75-75-c-100-jisx0208.1983-0
    	
  3. 12ドットフォントの利用方法は、小さいフォントを使うにはに記述したので、興味のある人は見て欲しい。

HTML記述支援篇

  1. HTMLファイルを書きやすくするには
    mule 用の html-helper-mode.el があるので、これを利用すると良い。 html-helper-mode.el は、下記から入手することができる。
    nelson's home page (in English)
    html-helper-mode.el 29 KB(公開版)
    tempo.el 23KB (公開版)
    html-helper-mode.el 45KB(ベータ版)
    tempo.el 23KB(ベータ版)
    html-helper-mode.elの作者のページと、ファイルへのリンク
    インストール方法は html-helper-mode.el の先頭付近に書いてあるが、一応ここにも書いておく。
    1. su で root になる。
    2. cp html-helper-mode.el tempo.el /usr/local/lib/mule/site-lisp としてコピー
    3. ~/.emacsに下記の指定を追加する。
      ;
      ;    html-helper-mode
      ;
      (setq html-helper-htmldtd-version "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML i18n//EN\">\n")
      ;
      (autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
      (setq auto-mode-alist (cons '("\\.[s]*[hH][tT][Mm][lL]*$" . html-helper-mode) auto-mode-alist))
      (setq html-helper-search-limit 100000)
      	    

    上記の html-helper-mode.el (β版)を利用していると、<PRE> 〜 </PRE> の間までインデントされてしまうのが気になったので、<PRE> 〜 </PRE>の間をインデントしないようにする差分を以下に示す。

    また、yahtmlというものもあるようだ。

    yahtmlはYaTeXの一部なので、上記のページから入手することができる。
  2. さらにHTMLファイルを書きやすくするには
    けんとさん作のhtml-region.elが便利だ。 html-region.elには色々な機能があるが、その中でもhtml-pre-regionをよく利用している。 ESC x html-pre-region とすると、リージョン指定した通常のテキストに含まれる < , > , & をそれぞれ &lt; , &gt; , &amp; に変換して、<pre>〜</pre>で囲んでくれる。 上でリンクしたhtml-helper-mode.elと組み合わせて利用するとかなり便利だ。

    インストール方法は下記のようになるだろう。

    1. su で root になる。
    2. cp html-region.el /usr/local/lib/mule/site-lisp としてコピー
    3. exitと入力して、rootから通常ユーザーに戻る。
    4. mule起動時に読み込ませる為、以下の二つの方法のうちどちらかをとる。
      1. html-helper-mode.elを利用していない場合
        ~/.emacsに下記の指定を追加する。
        (require 'html-region)
        		
        あと、好みのキーバインド設定を行なう必要がある。
      2. html-helper-mode.elを利用している場合
        ~/.emacsに下記の指定を追加する。
        ;
        ;    html-region.el
        ;
        (add-hook 'html-helper-mode-hook
          '(lambda () 
             (progn
               (require 'html-region)
               (define-key html-helper-mode-map "\C-cr" 'html-tag-region)
               (define-key html-helper-mode-map "\C-cp" 'html-pre-region))) t)
        		
        これで、Ctrl-C p で範囲指定されたリージョン内部が変換されるようになる。
  3. HTMLのテーブルを簡単に作成するには
    拙作のhtml-table-region.elも時と場合によって結構便利だと思うので紹介する。 (最近、html-table-region.elの機能はけんとさんのhtml-regionにマージされたので、html-regionファイルのみを取得すれば良くなった。) html-table-region.elはリージョン指定した通常のテキストをhtmlのテーブル形式に変換したり、リージョン指定したHTML形式のテーブルを通常のテキスト形式に変換するemacs lispだ。
    例えば、
    1,2,3,4
    2,4,5,6
    3,5,6,7
    	
    というテキスト領域に対して ESC x html-table-region を実行すると区切り文字(正規表現)を質問してくる。 デフォルトでは「[ ]+(スペース、またはタブが1文字以上の文字列)」が入っているので、削除して区切り文字に ,(カンマ)を指定すると
    <table border><tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
    <tr><td>2</td><td>4</td><td>5</td><td>6</td></tr>
    <tr><td>3</td><td>5</td><td>6</td><td>7</td></tr>
    </table>      
    	
    と変換する。

    また、上のようにテーブル化されたHTMLテキストを通常のテキストに戻すには、ESC x html-untable-region と入力する。 すると、通常テキストに戻した時にカラムの区切りとなる文字を質問してくる。 デフォルトでは「 (タブ)」が入っているので、削除して区切り文字として ,(カンマ)を指定すると、

    1,2,3,4
    2,4,5,6
    3,5,6,7
    	
    と変換する。

    インストール方法を一応紹介しておく。

    1. su で root になる。
    2. cp html-table-region.el /usr/local/lib/mule/site-lisp としてコピー
    3. exitと入力して、rootから通常ユーザーに戻る。
    4. mule起動時に読み込ませる為、以下の二つの方法のうちどちらかをとる。
      1. html-helper-mode.elを利用していない場合
        ~/.emacsに下記の指定を追加する。
        (require 'html-table-region)
        		
        あと、好みのキーバインド設定を行なう必要がある。
      2. html-helper-mode.elを利用している場合
        ~/.emacsに下記の指定を追加する。
        ;
        ;    html-table-region.el (by george)
        ;
        (add-hook 'html-helper-mode-hook
        	  '(lambda () 
        	     (progn
        	       (require 'html-table-region)
        	       (define-key html-helper-mode-map "\C-ct" 'html-table-region)
        	       (define-key html-helper-mode-map "\C-cT" 'html-untable-region))) t)
        		
        上の設定例では、Ctrl-C t とタイプすると指定範囲をテーブル化し、Ctrl-C Tとタイプすると指定範囲のテーブル化を解除する。
  4. HTMLの日記を簡単に作成するには
    私の書いている日記では、以下の日記記述補助用emacs-lispを利用している。 日記の日付の区切りや、段落の区切りの入力を自動で行なうマクロだ。 ESC x html-nikki-insert-date とすると、現在の日付情報を取得して、以下のような文字列をカーソル位置に挿入する。
    <hr>
    <p>
    <a name="19980411">■ 宇宙歴 1998.04.11 </a>
    <div align="right"><a href="freebsd_soft_mule.html#19980411">http://www.ceres.dti.ne.jp/~george/freebsd_soft_mule.html#19980411</a></div>
    </p>
    	
    私の日記専用だが、html-nikki-helper.elファイル内部を適当に編集してカスタマイズして欲しい。

    インストール方法を以下に示す。 (毎回、インストール方法はほとんど変わっていないという説もある...。)

    1. su で root になる。
    2. cp html-nikki-helper.el /usr/local/lib/mule/site-lisp としてコピー
    3. exitと入力して、rootから通常ユーザーに戻る。
    4. mule起動時に読み込ませる為、以下の二つの方法のうちどちらかをとる。
      1. html-helper-mode.elを利用していない場合
        ~/.emacsに下記の指定を追加する。
        (require 'html-nikki-helper)
        		
        あと、好みのキーバインド設定を行なう必要がある。
      2. html-helper-mode.elを利用している場合
        ~/.emacsに下記の指定を追加する。
        ;
        ;    for html-nikki-helper.el
        ;
        (add-hook 'html-helper-mode-hook
          '(lambda () 
             (progn
               (require 'html-nikki-helper)
               (define-key html-helper-mode-map "\C-cd" 'html-nikki-insert-date)
               (define-key html-helper-mode-map "\C-ce" 'html-nikki-insert-paragraph-title)
               (define-key html-helper-mode-map "\C-cf" 'html-nikki-insert-paragraph))) t)
        		
        上の設定例では、Ctrl-C d と入力すると html-nikki-insert-dateが起動するようになっている。
FreeBSDページの目次に戻る

mule使用テクニックのあれこれ

muleの奥技の探求その2。 ここでは、ほんのちょっとだけ便利なmule使用方法を紹介する。
  1. Ange-ftpを利用する。
    Ange-ftpは、muleから使用するftpである。 何が便利かって、muleのdiredからftpできるのである。 コピーも削除も編集も、ローカルマシン内部にあるのと同様に操作できる点が偉い。 使用方法は、^X d とタイプしてdiredを起動。 その後、ファイル名の代わりに以下のようにタイプする。
    /username@hostname:directoryname
          
    ``username@''と``directoryname''は省略可能である。 たとえば、理研のanonymous ftp サイトへアクセスする場合は次のようにタイプする。
    /anonymous@ftp.riken.go.jp:pub
          
    たまたま、自宅のマシンのユーザー名と、学校や会社やプロバイダのユーザー名が同じ場合は、ユーザー名を省略して以下のように入力する。
    /exelion.yk.rim.or.jp:
          
    このようにすると、私の接続しているリムネット横浜のマシンの私のホームディレクトリの一覧がでてくるのである。 あとは、普通にdiredしている感覚で操作すれば良い。

    ちなみに、:(コロン)を指定しわすれるとange-ftpが起動せず、ローカルマシン内部のディレクトリを表示しようとするので注意。

    FreeBSD 2.2.6Rの場合は、~/.emacsなどに

    (setq ange-ftp-ftp-program-args '("-i" "-n" "-g" "-v" "-e"))
          
    という行を追加しないとange-ftpが利用できない。 これは、標準で利用されるftpの画面が派手になったので、ange-ftpマクロが情報をうまく取得できないために起こる。 上の設定では"-e"オプションを加えることにより、従来のftpコマンドと同じ画面になるように指定している。
  2. 半角カタカナが混入したShift-JISのファイルをmuleで見たい。
    半角カタカナや、特殊な記号の混入したファイル(主にBBSのログなど)をmuleでCTRL-x CTRL-f などとしてひらくと、日本語の部分や半角カタカナの部分がわけのわからない表示になってしまうことがある。 そこで、ファイルをひらく前にあらかじめ漢字コードを指定する方法を紹介する。
    CTRL-u CTRL-x CTRL-f
          
    とするだけである。 このあと、最初にファイル名を入力して、次に漢字コードの種類(BBSのログなら、``*sjis*dos'')を入力してやるとよい。
  3. ファイル名を指定してgnu infoファイルを見たい。 システムのinfoディレクトリにインストールするのは面倒なので、その場でinfoファイルを見たい場合は
    CTRL-u ESC x info [リターン]
          
    とすると、ファイル名を尋ねてくるので読みたいinfoファイルを指定すると良い。
    とりあえず、動作コマンドの前に CTRL-u を試してみると意外な発見があるかも知れない。

FreeBSDページの目次に戻る


指定された関数が定義されているファイルへ一発ジャンプするには

C言語などを利用していて、「一発で別のファイルに書いておいたxxxxx関数の先頭部分にジャンプできたらいいな〜」と思った事は無いだろうか。

muleにはそのような希望を満たしてくれるジオン驚異のメカニズム(^^;)が備わっているので、ここに紹介しよう。

muleをpkg_addしている場合は、関連コマンドとして etags コマンドが /usr/local/bin にインストールされている。 etags コマンドはCやC++のソースファイルを読み込んで、関数名とその位置を対応づけるファイル TAGS を作成するコマンドだ。

etagsコマンドとmuleからの利用方法の流れを以下に示す。

  1. cd xxxxxx(どこか、Cのソースファイルがあるディレクトリに移動)
  2. etags *.c *.h として、TAGSファイルを作成
  3. muleなどから、META x visit-tags-table でTAGSファイルを読み込む
以下はmule-2.3のCモード用キーバインド。
META .
find-tag
関数名を入力すると、その関数を定義しているファイル・場所までジャンプ。
まだvisit-tags-tableをしていない場合には、TAGSファイル名を質問してくる。
META TAB
complete-tag
TAGSファイルにある関数名リストをもとに、現在のカーソル位置の単語を補間する。
META ,
tags-loop-continue
tags-search, tags-query-replace, find-tag-regexp などの関数を実行中の場合、次を検索して表示
META - META .
negative find-tag
以前にタグジャンプに成功した場所に戻る。
META . によってタグジャンプを繰り返していると、前にタグジャンプした場所に戻りたくなる時がある。 そんな時はこのコマンドを使うと、以前タグジャンプした場所に戻れるので、関数コールを追跡してから戻る時などに利用すると便利だ。 押すキーが多くて大変だが...。
Ctrl-X Ctrl-Q
toggle-read-only
バッファの読み込み専用/読み書きモード切替え
こちらはTAGSとは直接関係は無いが、便利なのでついでに紹介する。
TAGSを使ってタグジャンプをしていると、ファイルは読み書き自由モードでオープンされる。 誤ってオリジナルソースを変更しないため、Ctrl-X Ctrl-Qで読み込み専用モードにしておくと安心だ。
是非一度実際に試してみて欲しい。 大きなソースを編集する際に絶大な効果を発揮するはずだ。

ちなみに、viにもctagsという同類のコマンドがあり、:tag xxxxx とするとxxxxxが定義されたファイルをオープンする機能がある。

FreeBSDページの目次に戻る


etagsで、タグジャンプ前の位置に戻るようにするには

上に紹介した META - META . による「以前タグジャンプした位置に戻る」コマンドだが、「タグジャンプに成功した後の場所」を憶えており、「タグジャンプする前(タグジャンプ操作を行なった)場所」を憶えているのではない。

私はWWWブラウザの操作になれているので、「タグジャンプする前(タグジャンプ操作を行なった)場所」を憶えていて欲しいと思ってしまった。

そんなわけで、mule-2.3用、/usr/local/lib/mule/19.28/lisp/etags.elへの差分を作成してみた。

以下のようにしてインストールすると良い(かも)。
  1. cd /tmp
  2. cp /usr/local/lib/mule/19.28/lisp/etags.el .
  3. patch < etags.diff
  4. mule -batch -f batch-byte-compile etags.el
    以上で etags.elc が作成できる。
  5. su で root になって
  6. cp etags.elc /usr/local/lib/mule/19.28/lisp/ としてインストールする。
  7. 既にmuleが起動している場合には、etags.elcを読み込ませるために一度muleを終了してもう一度起動する。
以上の作業で、etagsへの変更が有効になるはずだ。

FreeBSDページの目次に戻る


gnu info について

gnu infoとは、ハイパーリンクテキストのヘルプシステムのことである。 HTML言語のように、ヘルプのリンクを辿って行けるのが売りであったが、最近はHTMLに押されてマイナーな存在になりつつあるような気がする。(^^;)。 使用方法は簡単で、 とすればデフォルトのinfoファイルが表示される。 ちなみに、うちのFreeBSD 2.1.0Rの場合、infoファイルがあるディレクトリが の2箇所にわかれていたため、環境変数INFOPATHに下記のように設定している。
#.bashrc file
INFOPATH=/usr/local/info:/usr/share/info
export INFOPATH
infoを実行した時に表示されるタイトルページの内容は、INFOPATHに記述されたディレクトリのdirファイルに記述されている。 タイトルページから自分でインストールしたinfoファイルへ移動したい場合には、INFOPATHのdirファイルをエディタなどで書き換える必要がある。

FreeBSDページの目次に戻る


Copyright(c) 1996,97,98,99,2000,01 George(小濱 純). All rights reserved.
私の作成したページは全部リンクフリーです。
このページに間違いや要望などがありましたら george@yk.rim.or.jp まで御連絡ください。

[ホームページ] [日記] [読んでいる日記] [秋葉原価格] [FreeBSD] [FreeBSD LINK] [検索] [高速検索]

home: <george@yk.rim.or.jp> or <george@ceres.dti.ne.jp>