14 - コマゴマとしたコマンド
「前々回ってコマンド 2 つしか紹介しなかったじゃん?」「ああ」「前回いくつかコマンド紹介したじゃん?」「そうだな」「私がふだん使ってるのって C-x b だけなんだ」「え」「チュートリアルが進むごとにどんどん展開が遅くなってるような気がして」「う…うむ」
「出口が見えない沼を歩きつづけているような不安を感じる」「いま,全体のどれくらいなんだ?」「半分ちょっと…」
「…」「…」「とりあえず先に進もう。足を踏み出さなければゴールにたどりつかない」
「…ゴールってどこにあるんだろうね…」「…」「君,見える?」
「見える」「え?」「だって,スタート地点はもう見えないだろう?」「…うん」「私たちはそれだけ進んできたんだ。だからいずれゴールは見えてくる。間違いなく」
「Emacs のチュートリアルにこれだけ真面目に取り組んでるのってさ,私たちが初めてなんじゃないかな?」「ああ。ゴールまで走り抜ければ,間違いない」
「…行こう。一緒に!」「ああ!」
*コマンドの拡張
================
Emacs には、コントロール文字やメタ文字に割当てられるよりもずっとずっと
多くのコマンドがあります。これらを扱うために、拡張(eXtend)コマンドを
使います。それには、以下の2つの種類があります。
C-x 文字による拡張。続けて一文字を入力します。
M-x 名前による拡張。続けてコマンドの名前を入力します。
これらは、一般的には便利だけれども、これまで見てきたものほどは頻繁に用
いられないコマンドです。C-x C-f(ファイルを開く)や C-x C-s(ファイル
をセーブ)はこの仲間です。他に、C-x C-c(Emacs を終了)もそうです。C-x
C-c に関しては、それまでに加えた変更が無くなるのを心配する必要はありま
せん。Emacs を終了させる前に、変更された各ファイルをセーブするかどうか
聞いてきますから。
「意気揚々と歩きだした私たちの前に表れたのは,これから様々なコマンドが襲いかかってくるであろう,そう予感させる記述であった」「…」「もはや満身創痍の私たちに生きのびる術は残されているのだろうか」「待て。まだそうと決まったわけじゃない。先に進もう」「そうして私を促す EeePC。だがその表情には不安が広がっている」「待て。勝手に判断するな」
If you are using a graphical display, you don't need any special
command to move from Emacs to another application. You can do this
with the mouse or with window manager commands. However, if you're
using a text terminal which can only show one application at a time,
you need to "suspend" Emacs to move to any other application.
もしグラフィカルディスプレイを使っているなら,Emacs から他のアプリケーションにうつるための特殊なコマンドは必要ありません。マウスやウインドウマネージャのコマンドを使いましょう。しかし,もしテキスト端末を使っていて一度にひとつのアプリケーションを表示できないのなら,他のアプリケーションにうつるために Emacs を「中断」させなければなりません。
C-z は「一時的に」Emacs を抜けるコマンドです。また同じ Emacs セッショ
** C-z has been rebound, but you can use C-x C-z instead [More] **
ンに戻ることができます。
それができるシステム上なら、C-z は Emacs を「中断」させます。つまり
Emacs を終了することなく、コマンドシェルに戻ることができます。大方の標
準的なシェルなら、「fg」 コマンドもしくは 「%emacs」 によって Emacs を再開
できます。
「中断」機能を実装していないシステムでは、C-z は Emacs の下で走るサブ
シェルを作り、他のプログラムを走らせてからまた Emacs に戻ることができ
るようにします。この場合本当に Emacs から抜け出るわけではありませんの
で、シェルコマンドの 「exit」 がそのサブシェルから Emacs に戻る普通のや
り方です。
「あれ?私 C-z って何に割りあててたっけ…」「おい」「あ,gnupackだと C-z はスクロールダウン (C-v) になってるんだ」「使わないのか?」「うん。C-z は,コントロールキーを Caps Lock に入れ替えてたり,小指の付け根で押してたりする人だと楽だと思う。けど私はコントロールキーを無変換に割り当ててるから」「じゃあ Caps Lock は何のキーにしてるんだ?まさかそのままなわけないだろう?」「skk の sticky shift キーにしてます」「よくわからんが有効に使ってるんだな」「…」
「ところで君はここで書かれている方法を使うのか?」「Emacs の中断?初めて見たかも」「おい」「もしくははるか昔に見て忘れたか」「困らないのか?」「シェルコマンドなら Emacs の中から起動するし,tmuxとか使えばターミナルの中でも画面分割できるし」「やらない理由ならいくらでも作れることを忘れるなよ」「ごめんなさい。C-x C-z で抜けて,fg で復帰ね」「そうだ。このチュートリアルはコメントするためではなくて,新しいことを学ぶためにあることを忘れるなよ」「わかりました先生!」
C-x C-c はログアウトしようと思う時に使うものです。メールツール(mail
コマンド等)やその他の様々なアプリケーションプログラムが起動した Emacs
から抜け出る場合に使うのも正しいやり方です。これらのプログラムは Emacs
の中断にどう対処して良いか知らないでしょうから。
「Emacs 使い始めた頃は何かあったら C-x C-c で終了してもいいかも」「ふむ」「とりあえずはじめは C-x C-c と C-g 覚えておけばなんとかなると思う」「ほう」「ファイルはドラッグアンドドロップで開くし」「チュートリアル的には感心しないが,まあ,いいだろう」
C-x コマンドはたくさんあります。これまでに、以下を学びました。
C-x C-f ファイルを開く(Find)
C-x C-s ファイルのセーブ(Save)
C-x C-b バッファのリストアップ
C-x C-c Emacs を終了
C-x 1 ウィンドウを1つにする(つまり他のウィンドウを全部消す)
C-x u 取り消し
「こんなにあったっけ?」「おい!」「あと C-x u は C-/の方が便利だよ!お忘れなく!」
名前による拡張コマンドには、あまり使わないものや、特定のモードでしか使
わないものがあります。たとえば replace-string ですが、これは文字列を置
換するものです。M-x をタイプすると、Emacs は画面の最下行に M-x と表示
し入力を促すので、そこにコマンドの名前(この場合 "replace-string")を
入れなければなりません。"repl s<TAB>" とだけタイプすると Emacs がコマ
ンド名を補完してくれます。(<TAB> はタブキーです。普通は、キーボードの
左端、CapsLock もしくは Shift キーの近くにあります。)コマンド名を入れ
たら <Return> を打って下さい。
"Replace string" コマンドには引数が二つ必要です。どの文字列をどう置換
するかです。各引数を入力するたびに <Return> を打って下さい。
>> カーソルをここから2行下の空行に移動させて下さい。
M-x repl s<Return>changed<Return>Altered<Return> とタイプしましょう。
この行がどう変わるか(changed)見ましょう。あなたはカーソル以降全部の
c-h-a-n-g-e-d という語を "altered" に変えたのです。
「先生!発言をしてもよろしいでしょうか!」「何かね。言ってみたまえ」「…それが君の思う『先生』なの?」「違うのか?」「悪いことした子供の頭を革靴でひっぱたいたりするでしょ」「靴は使わん。ぶ厚い辞書だ」「…」
「話を戻そうか。何だ?」「今までコマンドの補完はタブでおこなってました。スペースキーでも補完してくれるなんて初めて知った」「今後は使うのか?」「慣れるかしばらく試してみる」
「他には?」「Emacs ではタブキーの代わりに C-i を使う。鬼軍曹.elを入れると鍛えてくれる。でも私はタブキーを使います!」「おい!また矢印キーみたいな言い訳するのか」「exwmでふつうのブラウザも使うから C-i が暴発すると困る」「うーむ…それならしょうがない,のか?」
「あとひとつ」「?」「M-x replace-string の代わりに M-% が使える。置換はよく使うから覚えると便利」「ほう」
「あ,もうひとつ!」「何だ」「物書きの人向けの機能なんだけど,C-SPC で範囲指定して M-= すると,一番下 (エコーエリア) に文字数が表示される」「ほう。これは君のためにあるような機能じゃないか」「これ知ってからずっと使ってる。すごく便利」
「ふむ,ファイルサイズはともかく,文字数はプログラミングで必要な情報なのか?」「この Emacs 作った人はEmacs にワープロ機能を持たせたいってずっと言ってるから,文章書くのに役立つ機能がついてるのかも」「この Emacs?」「Emacs はいろんな種類があるから」
(c) 2018 jamcha (jamcha.aa@gmail.com). (c) 1985, 1996, 1998, 2001-2018 Free Software Foundation, Inc.