情報工学領域実習 B

1. URL
2. 担当教員
3. 授業目的
4. 到達目標
5. 授業方法
6. 成績評価
7. スケジュール
8. 大崎が担当する科目に共通の連絡事項・アドバイス
9. Debian GNU/Linux のインストールとセットアップ
10. CLI 環境のセットアップ
11. ウィンドウマネージャ導入
12. エディタ (Emacs チュートリアル)
13. タッチタイピング
14. 簡単なツールの設計・開発 (1)
15. 簡単なツールの設計・開発 (2)
16. ペアプログラミング
17. キャリア設計
18. Python 開発環境 (1)
19. 研究テーマの理解
20. 研究テーマの理解 (2)

エディタ (Emacs チュートリアル)

実習の流れ・チーム分けの方針・態度目標

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

内容目標

- Emacs の基本的な操作方法を習得し、ファイルを作成・編集できるようになる

テキスト

https://lsnl.jp/~ohsaki/lecture/training/2025/priv/03.pdf

事前準備

配布していた ~/emacs (home.tgz に含まれるもの) が Debian GNU/Linux 13 trixie の Emacs ではエラーになる。

このため、~/.emacs に以下のパッチを当てる。 行頭の + は追加をあらわす (+ を除いた一行を ~/.emacs に追加する)。

--- .emacs.orig 2025-11-05 18:32:23.546276853 +0900
+++ .emacs      2025-11-05 18:32:18.958111160 +0900
@@ -26,6 +26,7 @@
        (add-to-list 'default-frame-alist (cons 'font fontset-name))))))

 (setq initial-buffer-choice t)
+(fset 'linum-mode 'display-line-numbers-mode)


 ;;; Major mode

もしくは、 xpywm のインストールを再度行なってもよい。 ただし、 この場合は設定ファイルが上書きされることに注意せよ。

課題

UNIX では Ctrl キーを多用するので、 CapsLock キーを Ctrl キーに割り当てておく。

/etc/default/keyboard の

XKBOPTIONS=""

という行を

XKBOPTIONS="ctrl:nocaps"

に書き換える。その後、以下を実行。

# /etc/init.d/console-setup.sh restart

課題 1

Emacs をインストールせよ。

課題 2

Emacs のチュートリアルを起動し、 「もし Emacs が反応しなくなったら」までを実行せよ。

課題 3

「Hello!」という文字列が書かれた ~/foo.txt というファイルを Emacs のみを用いて作成せよ。

課題 4

Emacs のキーバインド一覧を表示し、 どのようなコマンドがあるかを眺めてみよ。 また、 (1) M-d、 (2) C-SPC、 (3) C-w、 (4) C-y というキー操作によってどのような処理が実行できるかを調べよ。

略解

課題 1

> sudo apt install emacs

課題 2

> Alt + Ctrl + 2 (Alt と Ctrl を押しながら 2 を押す (「emacs &」で起動してもよい)。
> C-x RET l Japanese RET (言語環境を日本語に変更、M-x set-language-environment RET でもよい)
> M-h t (M-x help-with-tutorial RET でもよい)
※ C-x は Ctrl キーを押しながら x キーを押す
※ M-x は Alt キーを押しながら x キーを押す
※ RET は Enter キー (もしくは C-m)

課題 3

> C-x C-f foo.txt RET (M-x find-file foo.txt RET でもよい)
> Hello!
> C-x C-s (M-x save-buffer RET でもよい)
※ UNIX では ~ はホームディレクトリを表す。

課題 4

> M-h b (M-x describe-bindings RET でもよい)
> M-d: kill-word (単語単位の削除 (キル → キルリングに入るタイプの削除))
> C-SPC: set-mark-command (現在のポイント(カーソル位置)をマークする)
> C-w: kill-region (リージョン (マークとポイントの間) をキルする)
> C-y: yank (キルしたテキストをペーストする)

レポート課題 2025-10-15

2025-09-24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

より深く学びたい人へ

(Emacs に限りませんが) オンラインドキュメントではなく、 書籍で知識を吸収することをおすすめします。 Emacs に関する良書は多くありませんが、 読むなら以下の本をすすめます。 「GNU Emacs マニュアル」は原文が GPL で公開されているので、 翻訳版も GPL で公開されています。

Richard Stallman, ``GNU Emacs マニュアル,'' 共立出版, 1988.
https://lsnl.jp/~ohsaki/lecture/training/2025/priv/GNU_Emacs_Manual.pdf

GNU Emacs マニュアル 29.4
https://ayatakesi.github.io/emacs/29.4/html/index.html

ただし、 翻訳の質は共立出版のもののほうがはるかに良いです。

Debra Cameron, James Elliott, Marc Loy, Eric Raymond, Bill
Rosenblatt, ``入門 GNU Emacs 第 3 版, '' オライリー・ジャパン, 2007.

追加の資料です。

  日本のEmacsユーザーのためのハブサイト
  https://emacs-jp.github.io/


[<11. ウィンドウマネージャ導入] [>13. タッチタイピング]