これが私が持っているものです~/.zshrc
(実際には私のファイルから取得したものです~/.zshrc
。以下を参照)。
#CHANGING DIRECTORIES
setopt CD_SILENT
setopt CDABLE_VARS
setopt AUTO_CD
#COMPLETION
setopt recexact autolist listambiguous menucomplete hashlistall globcomplete completeinword completealiases autoparamslash
#EXPANSION AND GLOBBING
setopt nomatch badpattern globstarshort rcexpandparam extendedglob nocaseglob numericglobsort markdirs
#HISTORY
SAVEHIST=8192
HISTSIZE=$(( 1.2 * SAVEHIST ))
HISTFILE="$ZDOTDIR/.zhistory"
setopt nohistbeep extendedhistory histverify sharehistory histallowclobber histreduceblanks histfcntllock histignoredups histignorealldups histsavenodups
#SCRIPTS AND FUCNTIONS
setopt multios aliasfuncdef localoptions localloops localtraps cbases cprecedences
#MISC
setopt transientrprompt nocheckjobs ignoreeof nobeep nolistbeep nonotify noclobber interactivecomments
設定する以外は何もしませんHISTFILE
。
% setopt
interactive
monitor
shinstdin
zle
% ls .zhistory
.zhistory
ただし、setopt autocd
端末内部で使用すると、そのセッションで機能します。例は次のとおりです。
% setopt
interactive
monitor
shinstdin
zle
% setopt autocd
% setopt
autocd
interactive
monitor
shinstdin
zle
echo I AM BEING LOADED, EVEN THEN I FAIL TO LOAD ANY SETOPT COMMANDS
ここに追加すると、.zshrc
起動時に以下が表示されます。
I AM BEING LOADED, EVEN THEN I FAIL TO LOAD ANY SETOPT COMMANDS
% setopt
interactive
monitor
shinstdin
zle
これは、GNU/Linux amd64 の zsh 5.9 の場合です。
このファイルの実際のソースは次のとおりです。
# FUNCTOIN TO SOURCE READABLE FILES
function src {
[[ -r "$1" ]] && source "$1"
}
if [[ -d ~/.config/.zshell/zload.d/ ]]; then
for FileToLoad in ~/.config/.zshell/zload.d/*.zsh(n); do
src "$FileToLoad"
done
unset FileToLoad
fi
unset -f src
ベストアンサー1
申し訳ありません。使い方を誤って理解しましたsetopt localoptions
。学んでいるのでエラーが発生することがありますのでご了承ください。だからこの問題が発生しました。それは愚かな間違いでした。
何も働かずに私を怒らせる。だから基本を再び見ることにしました。https://zsh.sourceforge.io/Doc/Release/Options.html
私が自分で書いたソリューションをデバッグします。setopt xtrace
行を読んでいることを確認するために開きます。出力は次のとおりです。
ここではシェルに問題がなく、すべての行を読んでいることがわかります。そこから試行錯誤で解決策を見つけることができます。
localoptions
レビューが私のすべての問題を解決できることに気づきました。もう一度読んでみると、私が理解したことが間違っていることがわかりました。このオプションの機能については、上記の共有リンクをご覧ください。
ここでは、setopt localoptions
関数内で実行されるように、src
すべてのオプション設定がその関数に対してローカルです。
現在動作している様子を示す写真は次のとおりです。 PS->実際には私が直接理解していませんでした。 zshフォーラムの誰かが私がそこに到達するのを助けました。