2019年4月製作:同人誌『Customizing Python Shell xonsh』を書きました(技術書典6)

この記事は、ブログ記事にしていなかった制作物を、改めて製作した過程を残す為の記事です。2019-2022年初頭ごろまであまりブログに残すことをしておらず、過去を振り返れなかったので改めて記事にしています。

2019年4月に同人誌『Customizing Python Shell xonsh』を執筆し、技術書典6にて頒布しました。

執筆動機と内容

Pythonでカスタマイズできることを面白く感じて、そのカスタマイズを極めたくて執筆しました。

目次は以下のようになっています。

  1. xonsh にハマる1つの理由
  2. インストール
  3. 環境変数や、コマンドのエイリアスを設定する
  4. シェルの中でPythonを使う技術
  5. Shellプロンプトをカスタマイズする
    1. git の表示をカスタマイズする
    2. kubernetes の現在の context、namespace を表示する
  6. 標準機能のカスタマイズ
    1. Shell設定変更
    2. Shellの機能強化
    3. 補完機能
    4. プロンプトのカスタマイズ機能強化
    5. その他変数
  7. キーバインドをカスタマイズする
    1. その前に標準のキーバインドの確認
    2. キーバインドを追加する
    3. pecoで入力候補を扱う
  8. タブ補完を作る
  9. xontrib を使う
    1. xontribパッケージを作る
  10. イベントを使う
    1. コマンドに引数を、条件や環境変数で追加する

2025年現在もですが、ターミナルで利用するシェルにPythonでできたXonshを利用し、今でもこの時に作ったシェルのプロンプト表示は利用しています。

執筆環境

書籍の執筆環境には、TeXベースのRe:VIEWがカスタマイズしにくいと感じていて、VS CodeMarkdown拡張機能に付属のPDF出力機能で使って作りました。 プリントパックの冊子印刷に、OfficePrintという公式ツールを1回噛ませて出力し直して、入稿しました。

出展の様子

技術書典6で新刊として頒布し、当日の設営の様子が写真に残っていました。

あまり売れた本ではありませんが、シェルスクリプトよりも構造化した開発がしやすいPythonを使って、普段使用のシェルを楽しくカスタマイズできると言う概念に共感いただくこともありました。xonshに惹かれて技術書典に来場されたという方もいらっしゃいました。

現在でも頒布中

書籍自体は、電子のみとなりますが、現在でもBoothで販売を続けています。

74th.booth.pm