エディタEmacsを使う

UNIX(Linux)の標準的なエディタEmacsを使ってテキストファイルを作成したり,ファイルの一覧やその内容を表示させるUNIX(Linux)コマンドの使い方を習得する.

演習に必要な事項はEmacsの使い方にまとめてあるので適時参照すること. (早見表)

目次


ファイル名と拡張子

Emacsを使って,テキストファイルをファイル名 mytextfile.txt として作成してみる. 作成するファイルにどのように名前を付けるかは重要である. 詳しくはファイルおよびディレクトリ・フォルダー名のつけ方にある.

ファイル名には拡張子を付ける. 拡張子はピリオドから始まり,目的とするファイル形式や用途に応じて決められている.

ファイル名の構造
ファイル名の例拡張子種別
テキスト mytextfile.txt .txt プレインテキスト
index.html .html HTMLファイル
report.tex .tex TeXファイル
画像 myphoto.jpg .jpg JPEG形式
house.gif .gif GIF形式

表のように,ファイル内容や形式によって定められた拡張子をつけることが必要である.

目次

演習:テキストファイルの作成(ファイル名を指定して開く)

これからエディタで作成するファイルの場合,文字の連なりからなる『プレインテキスト』であることを示す拡張子を.txtをつけることにする.
  1. 次のようにして,新規に開くファイル名を指定してEmacsを起動する. テキストファイル名 mytextfile.txt を入力した後に,さらに『空白文字 + &』 を入力し,最後にEnterを押していることに注意する.
    
    $ emacs mytextfile.txt &
    
    
    このとき,開いたエディタウィンドウのモードラインにファイル名が書かれていることに注意せよ.

  2. マウスカーソルをエディタウィンドウ内に入れてクリックせよ. またマウスカーソルをエディタウィンドウの外に出してクリックする時,エディタウィンドウの様子がどうなるか詳細に観察する.

  3. エディタウィンドウに次の文字列を入力せよ. エディタウィンドウに文字列を入力するには,エディタウィンドウをアクティブに(フォーカスをオンに)しておく.

    途中で,エディタウィンドウ上段の[Files]メニューをクリックして,[Save Buffer]までドラッグしてマウスボタンを離し,入力したバッファ内容をファイル[mytextfile.txt]に保存せよ.

  4. 再度,入力した文字列を保存しよう. 今度は,メニューからマウスを使うのではなく,キーボードだけを使って保存する.

    保存するにはC-x C-sを押す. C-xとは,Controllキーを押しながら,小文字のxを押すというキーボード操作である.


    ┏━━━━━━━━━━━━━━━━━━━━━━━
    
       The network access to foreign countries (especially those which may
    have restrictions placed upon the information which can legally be sent
    to them) which is now possible through CREN networks places significant
    legal responsibilities on CREN Members and Affiliates to ensure that
    they do not violate federal law by transmitting material to such foreign
    countries whic his not allowed under current law and federal policy.
    
    ┗━━━━━━━━━━━━━━━━━━━━━━━━
    

  5. 入力しおわった時に,バッファ内容を保存(C-x C-s)してから, C-x C-c と押して,Emacsを終了せよ.

目次

演習:テキストファイルの作成(開いてからファイル名を指定する)

  1. 次のようにして,ファイル名を指定せずにEmacsを起動する. コマンド emacs を入力した後に,さらに『空白文字 + &』を入力し,最後にEnterを押していることに注意する.
    
    $ emacs &
    
    
    このとき,開いたエディタウィンドウのモードラインにバッファ名として *scratch* が書かれていることに注意する.

  2. エディタウィンドウに次の文字列を入力してみよ. 日本語入力についてはEmacsでの日本語入力を参考に.

    ┏━━━━━━━━━━━━━━━━━━━━━━━━
    
    電子総合研究所(現:産業技術総合研究所)の半田剣一氏らはEmacsを日本語化
    したNEmacsを開発し,さらに各国語を混在して使えるように多国語対応にした
    Muleを開発した.その後,Muleの多国語機能のKnow-Howを生かす形で,本家
    のEmacsが多国語対応となった.
    
    ┗━━━━━━━━━━━━━━━━━━━━━━━━
    

  3. このとき途中で,エディタウィンドウ上段の[Files]メニューをクリックして,[Save Buffer As](指定したファイル名で保存)までドラッグしてマウスボタンを離し,さらに下の図のように,エディタウィンドウ下段のミニバッファに次のように指定するファイル名 secondtext.txt を入力して Enter を押せ.

    ┏━━━━━━━━━━━━━━━━━━━
      Write file: ~/secondtext.txt■
    ┗━━━━━━━━━━━━━━━━━━━
    

    このとき,ミニバッファ内にある文字列「 ~/」は消さないこと.

  4. 指定したファイル名で保存するためのEmacsコマンドをキーボードだけを使って実行してみよう. キーボードから

    C-x C-w

    を入力する. ファイル名として,thirdtext.txt と名づけよ.

目次

演習:ファイルの一覧と内容表示

以上で,Emacsを使って3つのテキストファイル mytextfile.txt, secondtext.txtとthirdtext.txt を作成した. これらがディスク上に確かに保存されているか,そして,これらのファイル内容が確かに作成したものと一致しているかを以下の方法で確かめよう.

コマンド lsは,ファイル・ディレクトリを一覧するUNIXのコマンドである.

  1. エディタウィンドウからマウスカーソルを移動して,ktermウィンドウ内にマウスカーソルを入れてクリックする. このとき,ウィンドウ内のテキストカーソルが□から■へと変化したことを観測せよ. これでそのウィンドウがキーボードからの入力を受け付ける状態となったことが確かめられた.

  2. 次のようにしてlsコマンドを入力し,Enterを押せ(以降,Enterの入力については省略する)
    $ ls
    
    どのような結果が返ってきたかを詳細に観測し,その意味を考えてみよう.

  3. 指定したファイルの内容を標準出力(モニタ)に表示するコマンドcatを使って
    $ cat mytextfile.txt
    および
    $ cat secondtext.txt
    さらに
    $ cat thirdtext.txt
    
    を実行し,ファイルの中身を確認せよ.

    以降,エディタやWebブラウザなどによってファイルを保存した後には,かならずコマンド ls によってファイルの存在を確かめること. 逆に,何か作業を行う前には,手元にあるファイル・ディレクトリの一覧を表示してから行うようにすること.

  4. ピリオド記号を2つ並べたもの『..』をコマンド ls のオプションに指定して,次のようにしてみよ([ls + 空白 + ピリオド2つ + Enter]である).
    
    $ ls ..
    
    
    この結果は何を意味するのか考えてみよ.

  5. 以下の説明を理解して,自分のワーキングディレクトリを報告せよ. また,先のコマンド『ls ..』で得られる結果は何を示しているかを述べよ.

    UNIXを利用してときには利用者はどこかのディレクトリ[Directory](パソコン用語ではフォルダ[Folder])内に『居る』ことになっている. ディレクトリとは,家の中のように区切られている部屋のことである.

    では,今現在どこにいるのか. 利用者が現在がいる部屋,つまり今居る作業部屋をワーキング・ディレクトリといい,ワーキングディレクトリを知るUNIXコマンドがpwd(print working directory)であり,次のように使う.

    
    $ pwd
    
    
    この結果として
    /home/sys12/s12999zz
    
    のようなメッセージが返ってくる.この意味は,現在のワーキングディレクトリが
    1. まず/home/という部屋の中にある
    2. その中のsys12/という部屋の中にある
    3. その中のs12999zz/という部屋である
    ことを示している. このように部屋の中に部屋がある,つまりディレクトリの中にディレクトリがあることをディレクトリの階層構造という.

  6. 現在のワーキングディレクトリにおいて,ファイル・ディレクトリを一覧するコマンドによって得られるファイルおよびディレクトリを全て報告せよ.
ログインした直後に居るワーキングディレクトリをホームディレクトリ(あるいは単にホーム)という.

目次

演習:既存ファイルを利用した編集

上で作成した2つのファイルをコンピュータ資源として利用しよう. 次のようにして,別のファイル fourthtext.txt を作成してみる.

  1. Emacsを次のように起動する
    $ emacs &
    
    エディタウィンドウに,学生番号と氏名を1行目に 電子メールアドレスを次の行に入力し,さらに2回改行する (すると,テキストカーソルは5行目の先頭にある).

  2. 一方,lsコマンドで現在あるファイルの一覧を表示させる
    $ ls
    

  3. エディタウィンドウで,テキストカーソルの場所を確認した後に, エディタウィンドウの[Files]から[Inser File]を選択しする.

    するとミニバッファは,

    ┏━━━━━━━━━━━━━━━━━━━
      Insert file: ~/■
    ┗━━━━━━━━━━━━━━━━━━━
    
    となっているので,カーソル位置に挿入するテキストファイル名 mytextfile.txt を入力してEnterを押す.

  4. テキストカーソルをエディタウィンドウの末尾に移動し,さらにテキストファイル second.txt を同じようにして挿入する. 挿入するファイル名が定かでないことにはlsコマンドで確認しよう.

  5. こうして得られたバッファ内容を[Files]メニューの[Save Buffer As]を選択し, ミニバッファ
    ┏━━━━━━━━━━━━━━━━━━━
      Write file: ~/■
    ┗━━━━━━━━━━━━━━━━━━━
    
    に保存すべきファイル名 fourthtext.txt を入力する.

  6. lsコマンドで確かに保存したファイル fourthtext.txt があるかどうかを確認し,さらに cat コマンドでその内容を確認する.

目次

確認事項