すべてのzsh設定の現在の値を確認するにはどうすればよいですか?
たとえば、現在HISTSIZEとSAVEHISTを設定していないのでenv | grep HIST、set | grep HIST何も表示しません。では、どのデフォルト値が使用されているかをどのように確認できますか?
すべてのzsh設定の現在の値を確認するにはどうすればよいですか?
たとえば、現在HISTSIZEとSAVEHISTを設定していないのでenv | grep HIST、set | grep HIST何も表示しません。では、どのデフォルト値が使用されているかをどのように確認できますか?
ドキュメントまたはソースコードの解析を除いて、未定義の変数のデフォルト値を取得するオプションはありません。
HISTSIZE設定でSAVEHISTはなく、特別な変数です。すべての変数を一覧表示する方法はありますが、特別で設定として使用される変数を一覧表示する方法はわかりません。
変数として実装されたパラメーターをリストするのに役立つように、 (それをロードするための)zsh/parameterモジュールがあります。キーは変数名で、値は変数タイプの説明でzmodload zsh/parameterある連想配列があります。$parameters両方ともHISTSIZE、SAVEHISTそこにとして表示されinteger-specialます。HISTCHARSとして表示されscalar-specialます。ただし、ここでは:とRANDOM同じように表示されるため、これを使用してオプションとして使用される特別な変数を取得することはできません。ただし、のセクションはいつでも使用できます。HISTSIZEinteger-specialPARAMETERS USED BY THE SHELLman zshparam
ドキュメントやソースコードの解析を除いて、これらのパラメータのデフォルト値を決定できるオプションはわかりません。
# setopt | grep hist
nobanghist
extendedhistory
histfcntllock
histignorealldups
histignorespace
histnostore
histreduceblanks
histsavenodups
histverify
incappendhistory
デフォルト以外の設定を表示する場合:
引数が指定されていない場合、現在設定されているすべてのオプションの名前が出力されます。フォームは、現在のエミュレーションのデフォルトオプションとの違いを最小限に抑えるように選択されます(デフォルトのエミュレーションはネイティブzshであり、zshoptions(1)に示されています)。エミュレーションでデフォルトでオンになっているオプションは、オフの場合にのみ接頭辞noで表示されますが、他のオプションは、接頭辞noなしで、オンの場合にのみ表示されます。ユーザーがデフォルトの状態から変更したオプションに加えて、シェルによって自動的にアクティブ化されたオプション(SHIN_STDINやINTERACTIVEなど)がリストに表示されます。形式はオプションKSH_OPTION_PRINTによってさらに変更されますが、プレフィックスなしのオプションを選択する理由はこの場合も同じです。
また、以下を使用することも理にかなっています。
# unsetopt | grep hist
noappendhistory
cshjunkiehistory
histallowclobber
nohistbeep
histexpiredupsfirst
histfindnodups
histignoredups
histlexwords
histnofunctions
nohistsavebycopy
histsubstpattern
sharehistory
引数が指定されていない場合、現在設定されていないすべてのオプションの名前が出力されます。
または、ヘルプに従って使用してください
# setopt kshoptionprint
# setopt | grep hist
noappendhistory off
nobanghist on
cshjunkiehistory off
extendedhistory on
histallowclobber off
nohistbeep off
histexpiredupsfirst off
histfcntllock on
histfindnodups off
histignorealldups on
histignoredups off
histignorespace on
histlexwords off
histnofunctions off
histnostore on
histreduceblanks on
nohistsavebycopy off
histsavenodups on
histsubstpattern off
histverify on
incappendhistory on
sharehistory off
オプションを使用すると、の出力setoptとunsetopt一致に注意してください。kshoptionprint
現在の値を表示するには、設定しているかどうかに関係なく(この場合、デフォルト値が表示されます)。
➜ ~ echo $SAVEHIST
10000
➜ ~ echo $HISTSIZE
10000
私はあなたについて知りません...(つまり、私は使用します.prezto)、しかしこれは私が入ると得られる「オートコンプリート」setoptTABです...
それは私に次のような便利なことを教えてくれます。
-- zsh options (set) --
noaliases noautoresume nohashdirs nohistverify nonomatch ...
と
-- zsh options (unset) --
allexport cshjunkiehistory hashexecutablesonly kshglob
nullglob singlecommand ...