无论我在哪台机器上工作,如何才能使我的配置可用?

无论我在哪台机器上工作,如何才能使我的配置可用?

我在本地机器上创建了一个自定义的.vimrc。 此外,我还有几个我觉得有用的插件。现在我经常使用远程服务器工作。但每次为了工作,我都需要花费/浪费一些时间来复制我的本地环境,以便我可以工作(例如等)。 我想知道有没有办法让我不必这样做,但不知何故我的配置在每个远程服务器中都可用/“可见” ?.bashrc
vimssh.vimrc
ssh

答案1

您可以使用自定义脚本(例如)创建 git 或 mercurial 存储库~/myscripts。将其克隆到需要的位置。此外,添加一个脚本来创建指向主目录中 myscripts 目录的符号链接~/,或许还可以添加一个脚本来从各处提取更改并进行更新。

嗯,根据你自己的需要来调整吧...

答案2

和 pvoosten 一样,我建议保留一个 git repo。我已将别名放入我的 .bashrc 中以克隆它,然后运行一个脚本,该脚本将 ~/homedir 文件符号链接回该 repo 签出。

它是极好的快速而肮脏,但看起来有点像这样(随意改进 - 我建议ls ~/repo/home/ | grep -v setup-links.sh在 setup-links.sh 中做一些类似目录列表的事情,以避免需要糟糕的 filePaths=):

您还可以让 .bashrc 别名使用 ssh 和 scp 在机器上远程工作,并避免下面的步骤 2 和 3,但无论如何它对我来说是有效的。

这意味着你可以这样做:

  1. ssh-copy-id (主机)设置无密码 ssh
  2. scp .bashrc(主机)复制你的 bashrc
  3. ssh (主机) -A登录主机并转发 ssh 代理
  4. 设置主页克隆 git repo,并设置链接

显然不要把你的 ssh 密钥放入 git repo 或 gpg 密钥环中

.bashrc(它本身在 git 中,并且在步骤 4 之后将成为符号链接):

alias setuphome='git clone (your git repo) ~/repo/home && cd ~/repo/home && ~/repo/home/setup-links.sh 2>/dev/null remove ; ~/repo/home/setup-links.sh make 2>/dev/null; cd ~'

设置链接

filePaths=".bashrc
.tmux.conf
.vimrc
.bash_profile
.gitconfig
.ssh/config
.vim"
if [ "$1" == 'make' ]; then
    echo 'Making links'
    for filePath in $filePaths; do
        grep '/' <<< $filePath >/dev/null && mkdir -p $(dirname $filePath) 2>/dev/null
        ln -s $(pwd)/$filePath ~/$filePath 
    done
elif [ "$1" == 'remove' ]; then
    echo 'Removing links'
    for filePath in $filePaths; do
        unlink ~/$filePath
    done
else
    echo 'Error, $1 should be "make" or "remove"'
    exit 1
fi

答案3

将您的资料保存在 git repo 中,其中包括用于设置的脚本。

例如,这是我的点文件:

https://github.com/wincent/wincent

这是我运行的“安装”它们的脚本:

https://github.com/wincent/wincent/blob/master/bootstrap.rb

如果您搜索“github 点文件”,GitHub 上还有很多其他存储库。

相关内容