Ezo*_*Ezo 1 linux terminal zsh arch-linux
我想在 .zshrc 中进行快速编辑,但是 vim 说它不能写什么的。所以我退出了,用 :q! 。然后我想重新打开这个文件......它是空的。
我仍然打开了可以使用以前配置的终端。如何从中恢复完整的 .zshrc(或接近完整)?我已经用 'alias' 命令保存了我的别名。
首先,无法~/.zshrc
从正在运行的 shell 会话中获取实际值。这主要是因为它~/.zshrc
本质上是一个 shell 脚本,并且只有它确实进入 shell 会话的设置,而不是设置背后的逻辑。
尽管如此,您实际上可以从正在运行的 shell 会话中获取一些信息,这可能有助于您重新创建丢失的 .zshrc 中的一些设置:
alias
。随着alias -L
你实际上可以得到调用列表alias
,你可以把你的新~/.zshrc
只是原样。setopt
会为您提供未设置为默认值的 shell 选项列表。set
将打印所有参数及其值的列表。其中很多可能没有在您的配置中明确设置,但其中一些是。像提示设置(PROMPT
,PROMPT2
,PROMPT3
,PROMPT4
,RPROMPT
和RPROMPT2
),历史(HISTSIZE
,SAVEHIST
,HISTFILE
等),默认的编辑器(EDITOR
)和寻呼机(PAGER
)可以在那里找到,所以在看看可能是值得的。autoload
至少会给出一些指示加载了哪些模块。您可以忽略任何以下划线开头的函数声明,因为它们很可能是由完成系统加载的。尽管其余部分可能不一定已显式加载,但它至少会给出一些指示。zstyle -L
将打印使用命令列表进行的设置zstyle
列表(就像alias -L
)。bindkey -L
将您当前的键盘映射打印为命令列表。如果列表很长并且没有(很多)以vi-
您的 shell开头的命令,则可能在 emacs 模式下运行,在这种情况下,bindkey -e
放入您的新命令zshrc
可能会恢复大多数设置。对于其余部分,您可以比较bindkey -L
正在运行的和新的 shell 中的输出。如果您使用该vicmd
模式,则可以使用 检索这些设置bindkey -aL
。functions
为您提供会话中定义的函数列表。同样,并非所有这些实际上都已在您的配置中设置,但这是一个起点。 归档时间: |
|
查看次数: |
1728 次 |
最近记录: |