実行制御ファイル

Xonshでは、制御ファイルを実行してシェルの動作をカスタマイズすることができます。これらはxonshrcファイルと呼ばれます。

システム全体のxonshrcファイルは、指定されたシステム上のXonshのすべてのユーザーに適用されるオプションを制御します。このファイルは/etc/xonshrc、LinuxやOSX、%ALLUSERSPROFILE%\xonsh\xonshrcWindows上で作成できます

Xonshでは、ホームディレクトリに実行制御ファイルを呼び出すこともできます~/.xonshrcローカルで設定されたオプションxonshrcは、現在のユーザーにのみ適用され、システム全体の制御ファイルで設定されている競合する設定を上書きします。

これらのファイルはもちろん、xonsh言語で書かれています。それらは起動時に一度だけ実行されます。このようなファイルの実際の例は次のとおりです。

Download xonshrc

# adjust some paths
$PATH.append('/home/scopatz/sandbox/bin')
$LD_LIBRARY_PATH = ['/home/scopatz/.local/lib', '/home/scopatz/miniconda3/lib', '']

# alias to quit AwesomeWM from the terminal
def _quit_awesome(args, stdin=None):
    lines = $(ps ux | grep "gnome-session --session=awesome").splitlines()
    pids = [l.split()[1] for l in lines]
    for pid in pids:
        kill @(pid)

aliases['qa'] = _quit_awesome

# some customization options, see https://xon.sh/envvars.html for details
$MULTILINE_PROMPT = '`·.,¸,.·*¯`·.,¸,.·*¯'
$XONSH_SHOW_TRACEBACK = True
$XONSH_STORE_STDOUT = True
$XONSH_HISTORY_MATCH_ANYWHERE = True
$COMPLETIONS_CONFIRM = True
$XONSH_AUTOPAIR = True

xonshrcのスニペット

以下は、様々な方法でxonshを調整し調整する便利なスニペットとコードです。便利なやり方がある場合は、自由に共有してください。

gitブランチラベルの動作を調整する

Xonshは、gitリポジトリまたはhgリポジトリで作業するときに、色付きのブランチ名をプロンプトに追加します。この動作は$PROMPT環境変数で制御できます。プロンプトカスタマイズする方法を参照してください作業ディレクトリが汚れている場合、ブランチ名は色が変わります。これは、{branch_color}フォーマッタ文字列によって制御されます。

次のスニペットは、gitディレクトリがダーティであるかどうかを検討するときに、untrackedファイルをインクルードするためにフォーマッタを再実装します。

>>> from xonsh.prompt.vc_branch import git_dirty_working_directory
>>> $PROMPT_FIELDS['branch_color'] = lambda: ('{BOLD_INTENSE_RED}'
                                               if git_dirty_working_directory(include_untracked=True)
                                               else '{BOLD_INTENSE_GREEN}')

lsコマンドからより良い色を得る

ls暗い端末では、コマンドの色が読みにくい場合があります。もしそうなら、これはxonshrcファイルへの優れた追加です。

>>> $LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:'