すべての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
同じように表示されるため、これを使用してオプションとして使用される特別な変数を取得することはできません。ただし、のセクションはいつでも使用できます。HISTSIZE
integer-special
PARAMETERS USED BY THE SHELL
man 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
)、しかしこれは私が入ると得られる「オートコンプリート」setopt
TABです...
それは私に次のような便利なことを教えてくれます。
-- zsh options (set) --
noaliases noautoresume nohashdirs nohistverify nonomatch ...
と
-- zsh options (unset) --
allexport cshjunkiehistory hashexecutablesonly kshglob
nullglob singlecommand ...