迁移zsh+oh-my-zsh到新机器需转移哪些文件?
迁移zsh+oh-my-zsh到新机器需转移哪些文件?
嘿,刚好帮你梳理下迁移zsh和oh-my-zsh到新机器的完整清单,连你关心的自定义git prompt也一起搞定,不用重新折腾~
核心zsh配置文件
这些是zsh运行的基础配置,必须转移:
.zprofile:你已经想到这个了,登录shell时会加载的配置,直接复制就行.zshrc:交互式shell的核心配置,比如你的别名、环境变量都在这里,肯定要迁移- 可选:如果旧机器上有
.zlogin(登录shell加载的补充配置)或.zlogout(退出shell时执行的脚本),也可以一起复制,看你有没有用到
oh-my-zsh相关文件
要完整保留你的oh-my-zsh环境,这些不能少:
- 整个
~/.oh-my-zsh目录:这里面包含了oh-my-zsh的框架、默认主题、插件,直接复制整个目录过去,比重新安装再配置快太多 - 自定义主题(重点解决你的git prompt):
- 如果你的自定义git prompt是放在
~/.oh-my-zsh/custom/themes/里的自定义主题文件,直接复制这个文件或者整个custom目录过去就行——这也是oh-my-zsh推荐的自定义方式 - 如果是直接修改了
~/.oh-my-zsh/themes/里的默认主题文件,那把修改后的那个主题文件复制到新机器对应的位置就好
- 如果你的自定义git prompt是放在
- 自定义插件:如果有自己添加的插件在
~/.oh-my-zsh/custom/plugins/,记得一起复制
Git相关配置(关联你的自定义git prompt)
很多git prompt的配置会和全局git设置绑定,所以这些也建议转移:
.gitconfig:里面包含你的git用户名、邮箱,还有可能和git prompt相关的配置项,复制过去能直接复用- 可选:如果有全局忽略文件
~/.gitignore_global,也一起带走,省得重新设置
快速迁移的操作方法
如果旧机器还能访问,用终端的scp命令直接传输最方便:
# 复制核心zsh配置 scp 旧机器用户名@旧机器IP:~/.zprofile ~/ scp 旧机器用户名@旧机器IP:~/.zshrc ~/ # 复制整个oh-my-zsh目录 scp -r 旧机器用户名@旧机器IP:~/.oh-my-zsh ~/ # 复制git配置 scp 旧机器用户名@旧机器IP:~/.gitconfig ~/ scp 旧机器用户名@旧机器IP:~/.gitignore_global ~/
要是用U盘的话,直接把这些文件和目录拖到新机器的用户根目录下就行。
最后提醒下:复制完后打开新机器的终端,如果出现权限报错,用chmod 644 ~/.zshrc ~/.zprofile调整下文件权限就好。
备注:内容来源于stack exchange,提问作者jcollum
相关产品推荐
相关产品推荐

