05 - Move! Move! Move!
画面の先頭や末尾を越えてカーソルを移動させようとすると、その方向にある
文章が画面の中に移動して来てます。これを「スクロール」と呼びます。画面
がスクロールすることによって、カーソルを移動させても、カーソルは常に画
面内にあるようにされます。
>> C-n を使って、カーソルを画面の下端より下に移動させてみなさい。何
が起こりましたか?
「日本語版とか中国語版だとここで初めて『スクロール』って言葉が出てくるんだけど,英語版は脚注みたいな形でもっと前に出てくる (本編 03 文末を参照)」「ほう」「たぶん少し知識ある人に向けた注意書きみたいなものだと思う。『できるやつはどんどん先に進め!』って感じ?」
一文字単位の移動ではまどろっこしいなら、単語単位で移動することもできま
す。M-f (<ESC> f) で一単語先へ、M-b (<ESC> b) で一単語前へ移動します。
注意: 日本語については、単語の切れ目を認識することはできませんが、疑
似的な文節を単語の切れ目としています。
>> M-f や M-b を何回か試してみましょう。
単語の中程にいる時は、M-f はその単語の終わりまで進みます。もし単語間の
空白にいる時には M-f は次の単語の終わりまで進みます。M-b も同様です、
方向は逆ですが。
「これは衝撃的だった」「何だ」
日本語については、単語の切れ目を認識することはできませんが、疑似的な文節を単語の切れ目としています。
「いやあ,知りませんでした」「M-f そのものをか?」「M-f っていうか,英語専用のコマンドだと思って頭に回路ができてない」「今後は使っていくのか?」「意識して使っていかないとね」「中国語版だとどうなってるんだ?」
这里的“词”指
英文单词,对中文来说,则是指移动到下一个标点符号。
「次の句読点まで飛ぶって」「日本語より豪快だな」「日本語だと助詞と助動詞で区切ってるのかな?」
>> M-f と M-b を C-f と C-b を交えながら数回試し、カーソルが単語中にあ
る時と、単語と単語の間にある時の動きを調べて下さい。
C-f と C-b に対する、M-f と M-b の類似性に注目しましょう。多くの場合、
メタキーは文書を構成するユニット(単語、文、段落)に対する操作に使い、
コントロールキーはそれよりももっと基本的な対象(文字とか行等)に対する
操作に使います。
「英語専用みたいなコマンドが他にもあるんだけどさ」「ほう」「C-t とか」「何だそれは」「カーソル前の 2 文字の順序を入れ替える。aeg → age とか」「英語専用なのか?」「日本語だとあまり。だから私は C-x o の機能を持たせてます。詳しくは『ウインドウ』にて」
「ところで君は冒頭に前回のまとめを入れなかったな。最初に復習するという話はどこへ行ったんだ?」「だって本文に要約がないんだもん」「やはり前回のは出まかせだったか…」「えー,だって前回どうでもいい世間話と C-n, C-p くらいしかしてないし」「どうでもいいって…」「ほら,今回だって最初に C-n 使ってるでしょ。はい復習した!」
この類似性は行と文の関係にもあります。C-a と C-e はそれぞれ行頭と行末
に移動し、M-a と M-e はそれぞれ文頭と文末に移動します。
>> C-a を2回、それから C-e を2回試しましょう。
M-a を2回、それから M-e を2回試しましょう。
C-a を繰返してもそれ以上移動しませんが、M-a を繰り返すとどんどん前の文
頭に戻っていきます。この部分では類似性が破れていますが、まあこれが自然
な動作ではないでしょうか。
「出た,C-a と C-e」「?」「C-f と C-b は矢印キーで代用できるんだけどこれはできない。すごく便利」「ずいぶん押してくるな。暑苦しいぞ。M-a と M-e は?」「今知った」「おい」「でも C-a と C-e は本当に便利。文頭に別の文章入れるときとか,文末に別の文章入れるときとか大活躍する」「でも M-a と M-e は?」「今知った」「…はぁ」「世の中知らないことだらけです,ハイ」「Emacs チュートリアルも君の役に立って本望だろう」
文章中でカーソルがある位置を「ポイント」と呼びます。言いかえれば、カー
ソルは、文章のどこにポイントがあるかを画面上で示しているのです。
以下に単純なカーソル移動操作について要約します。このなかには、単語や行
単位での移動コマンドも含まれています。
C-f 一文字次に進む
C-b 一文字前に戻る
M-f 一単語次に進む
M-b 一単語前に戻る
C-n 次の行に移動
C-p 前の行に移動
C-a 行頭に移動
C-e 行末に移動
M-a 文頭に移動
M-e 文末に移動
>> これら全部を何度か試して練習しましょう。
どれも頻繁に使うコマンドです。
「私は頻繁に使うコマンドの半分しか使っていなかったようだ」「おい,口調を真似するな」「C-a と C-e は意識的に使うようにしたら本当に便利だったから,M-で始まるやつも使っていきたい」「うむ,殊勝な心がけだ」「ちなみに今 M-a と M-e 使ったら会話文は全部飛ばされた」「判断するのは句点だけか」「あと空白行とか」
あと二つ、重要なカーソル移動コマンドがあります。ファイルの先頭に移動す
る M-< と、ファイルの末尾に移動する M-> です。
大抵の端末では "<" キーは "," キー(コンマ)の上にあり、それをタイプす
るにはシフトキーを使う必要があります。したがって M-< をタイプするには、
メタキーとシフトキーとコンマキーを同時に押さねばなりません。
>> M-< を試して、この入門ガイドの先頭に移動しましょう。
それから、C-v を何度か使ってここまで帰ってきてください。
>> M-> を試して、この入門ガイドの末尾に移動しましょう。
それから、M-v を何度か使ってここまで帰ってきてください。
「出た M->と M-<」「またか」「本文見直すときに M-<で最初まで戻ってから C-v で確認する。すごく便利」「ふむ」「続き書くときは M->で最後まで一発で行けるし。C-a, C-e と同じくらいよく使う」「覚えておいて損がないコマンドということだな」
もし端末に矢印キーがあれば、それを使ってカーソルを動かすこともできます。
けれど、次の3つの理由から C-b, C-f, C-n, C-p を覚えることを勧めます。
第一に、これらはどんな端末でも使えます。第二に、Emacs を使うのが上達し
てくれば、これらのコントロール文字を打つ方が、矢印キーを打つよりずっと
速いことが分るでしょう(手を通常の位置から大きく動かさないでよいので)。
最後に、一度これらのコントロール文字を打つ習慣を付けたら、もっと進んだ
カーソル移動コマンドも簡単に覚えることができます。
「おい,君のカーソルキー論が否定されているぞ」「私はすでに C-b, C-f, C-n, C-p を覚えている」「お…おう」「それに私は Emacs で Nautilus や gnome-terminal や Firefox や Gimp や LibreOffice も使う。それだと Emacs のコマンドが使えない」「とんでもない方向から反論してきたな」「あとエラーの原因探してるときとかはホームポジションに手置くよりもリラックスした姿勢で操作したい」「それはそうかもしれんが。…まあカーソルキーを使い続けたいという信念は伝わったよ」「使いたい,じゃなくて使います,だから」「…」
(c) 2018 jamcha (jamcha.aa@gmail.com). (c) 1985, 1996, 1998, 2001-2018 Free Software Foundation, Inc.