UNIXの部屋 コマンド: mule


※空白区切りで AND 検索 (例:「ファイル 削除」)

コマンド mule 多国語エディタ。nemacs の後継エディタとして開発された。

emacs という、とても有名で高機能なエディタがある。しかし emacs 上では日本語が使えなかったので、日本では emacs を日本語化した nemacs というものが長らく使われてきた。しかし、どうせなら日本語以外に韓国語・中国語・ヘブライ語なども使えるようにしよう、ということで製作されたのが mule である。

最新版の mule は emacs-19.34.1 にパッチを当てた形式で配布されいてる。これは mule の最終版であり、今後メンテナンスされることはないだろう。現在では、mule の多国語機能は emacs に統合されており、emacs-20 系列が開発されている。

また、emacs・mule とは別に、xemacs というエディタがある。これは、emacs の開発の遅さ (GNU が開発を行っている) に耐えかねて、別の人が emacs ライクなエディタを作成したものである。特徴は、xemacs 上で画像を表示できたり、フレームに対応したブラウザが動くなど、X 環境での見栄えを重視している点である。ただしその分 emacs に比べて動作が遅い (xemacs に関しての説明は全く自信がない。突っ込み歓迎)。

以上のように、emacs 系エディタはたくさんある。どれを選べばよいか、という指針を考えてみる。
  • nemacs … 現在では使う必要はない。古すぎる。
  • mule … 比較的軽いかもしれない。長らく日本で使われてきた。過去の ~/.emacs などの資産を生かせるが、初めて emacs を使う人はあえて選択する必要はないだろう。現在 mule を使っている人は、不満がないなら使い続けるとよい。
  • emacs … emacs の本流。日本語も問題なく使えるが、~/.emacs で少々設定が必要。
  • xemacs … 見栄え重視で、それなりに速いマシンを持っている人向け。
それぞれ、~/.emacs の書き方などが若干違う。mule の ~/.emacs が emacs でも動くとは思わない方がよいだろう。

emacs の機能は本当にたくさんあるので、ごく一部だけを説明する。重要な機能には(*)マークを付けた。その中でも特に覚えておいた方がよいのは、
  • C-x C-c mule の終了
  • C-x C-s セーブ
  • C-g 実行中のコマンドをキャンセル (とにかくキーが入力できなくなったらこれを連打すること)
である。ほとんどの機能は emacs・xemacs でも使えるはずである。なお、
  • M-x というのは、ESC キーを押して (離したあとに) xキーを押す
  • C-x というのは、CTRL キーを押しながらxキーを押す
  • M-C-s というのは、ESC キーを押して (離したあとに)、CTRL キーを押しながら s キーを押す
という意味である。

オプション
+n(数字) 起動後ファイルの n 行目に移動する
-nw 新たな X のウィンドウを作らず、現在のコンソール上で実行する
-q 設定ファイル (~/.emacs など) を読み込まない
-u user userの設定ファイルを読み込む
-u hoge とすると、起動時の設定ファイルとして ~hoge/.emacs が読み込まれる
-l file コンフィグファイル file を読み込む
-f function LISP の関数を実行する。
例・mule -f c-mode
mule -f rmail(メール)
mule -f gomoku(五目並べ)
カーソル移動
C-a 行頭に移動(*)
C-e 行末に移動(*)
C-n 1行下に移動(*)
C-p 1行上に移動(*)
C-f 1文字前に移動(*)
C-b 1文字後ろに移動(*)
C-v 1画面進む(*)
M-v 1画面戻る(*)
M-< 先頭行に移動(*)
M-> 最終行に移動(*)
C-x C-x マーク位置へ移動、もう一度入力すると元に戻る
C-x = 現在カーソルがどこにあるかを表示
M-x goto-line 指定の行へ移動(*)
マーク
C-@ 現在カーソルのある位置をマーク(*)
C-SPACE 現在カーソルのある位置をマーク(*)
C-x h バッファ全体をマーク
検索
C-s インクリメンタルサーチ(あるいは次検索)(*)
C-s C-s 次検索(*)
C-r 後方インクリメンタルサーチ
M-C-s 正規表現インクリメンタルサーチ
M-C-r 後方正規表現インクリメンタルサーチ
削除・貼り付け
C-d 1文字削除(*)
C-k カーソル位置からその行の行末まで削除(*)
C-w マークした位置からカーソル位置までを削除してキルリングにコピー(*)
M-w マークした位置からカーソル位置までをキルリングにコピー(*)
C-y キルリングの内容を貼り付け(*)
M-y 一つ前のキルリングの内容を貼り付け。
C-y に続けて M-y とすることでキルリングをさかのぼることができる(M-y は C-y の直後に押さないと意味がない)。C-y M-y M-y M-y … と連続してさかのぼることも可能。
C-x C-t カーソルのある行とその上の行を入れ換え

C-o 空行を挿入
C-x u アンドゥ(*)
C-g 実行中のコマンドをキャンセル(*)
C-l 画面を再描画して、カーソルのある行が画面の中心にくるように表示(*)
C-m リターンキーと同じ

C-x r k 矩形領域の切り取り
C-x r y 矩形領域の貼り付け
C-x r t 矩形領域を指定した文字列で置き換え
C-x r o 矩形領域に空白を挿入
C-x r o 矩形領域を空白で置き換え

保存・終了
C-x C-s バッファ内容をファイルに保存(*)
C-x C-w ファイル名を指定してセーブ
C-x C-c muleの終了(*)
C-z サスペンド
バッファ・ウィンドウ
C-x C-f 指定ファイルを編集(*)
C-x C-b 現在のバッファのリストを表示(*)
C-x 0 カレントウィンドウを消去(*)
C-x 1 カレントウィンドウ以外のウィンドウを消去(*)
C-x 2 カレントウィンドウを横に2分割(*)
C-x 3 カレントウィンドウを縦に2分割
C-x o 次ウィンドウに移動(*)
C-x + 全ウィンドウを均等なサイズに変更
C-x ^ カレントウィンドウを拡大(*)
C-x b 編集するバッファを変更(*)
C-x C-b 現在編集中のバッファのリストを表示
C-x C-d ディレクトリを表示
C-x d diredを実行
C-x C-r 新たにファイルを読み込む(リードオンリー)
C-x i ファイル内容を現在位置に挿入
C-x C-x バッファを削除
C-x 4系 他のウィンドウを操作
C-x 4 b 他のウィンドウに指定バッファを表示
C-x 4 f 他のウィンドウでファイルを編集
C-x 4 m 他のウィンドウでメール
C-x 4 r 他のウィンドウにファイルを読み込む(リードオンリー)
C-x 4 d 他のウィンドウでdired
C-x 5系 他のフレームを操作
C-x 5
マクロ
C-x ( マクロの設定を開始
C-x ) マクロの設定の終了
C-x e 設定したマクロを実行
ヘルプ
M-x describe-bindings 現在のキー割り当ての説明
M-x describe-variable emacs変数の説明
M-x describe-function 関数の説明
M-x describe-mode 現在のメジャーモードの説明
漢字変換
C-\ たまごの起動
C-o かんなの起動
C-x SPC マーク位置からカーソル位置まで再変換
その他
C-u n command commandをn回繰り返す。C-u 3 C-n は C-n C-n C-n と同じ
C-x TAB マークした場所からカーソル位置までの行を字下げする
C-^ 記号入力モード
C-x = カーソルの位置を表示
C-x m メールを送信
ESC ! シェルコマンドを実行
C-x l バッファの行数と現在位置を表示
便利なコマンド
M-x goto-line 指定の行に移る(行番号を指定)
M-x tabify マーク位置から現在位置までのスペースをタブに変換
M-x untabify マーク位置から現在位置までのタブをスペースに変換
M-x canna-touroku 新たに単語を登録 (かんな)
M-x replace-string 文字列を置換(*)
M-x replace-regexp 文字列を置換 (正規表現で指定)
M-x rmail メールを読む
モード
M-x fundamental-mode 基本的なメジャーモード
M-x override-mode 上書き/挿入モード (トグル)
M-x auto-fill-mode 自動改行モード。
リターンキーを押したときに、その行が指定の文字数より長かったら、自動的に指定の文字数のところで改行する。任意のカラムで C-x f することで、1行の長さを設定できる。
>> コマンド emacs *   xemacs *   vi *   mew *
>> 設定ファイル ~/.emacs *


頑張って書いたおすすめコンテンツ!