実行制御ファイル¶
Xonshでは、制御ファイルを実行してシェルの動作をカスタマイズすることができます。これらはxonshrc
ファイルと呼ばれます。
システム全体のxonshrc
ファイルは、指定されたシステム上のXonshのすべてのユーザーに適用されるオプションを制御します。このファイルは/etc/xonshrc
、LinuxやOSX、%ALLUSERSPROFILE%\xonsh\xonshrc
Windows上で作成できます。
Xonshでは、ホームディレクトリに実行制御ファイルを呼び出すこともできます~/.xonshrc
。ローカルで設定されたオプションxonshrc
は、現在のユーザーにのみ適用され、システム全体の制御ファイルで設定されている競合する設定を上書きします。
これらのファイルはもちろん、xonsh言語で書かれています。それらは起動時に一度だけ実行されます。このようなファイルの実際の例は次のとおりです。
# 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:'