原文地址:http://www.xianmin.org/blog/1-dotfiles.html
管理你的 dotfiles
作為一個計算機深度使用者,并且長期使用 Linux 作為主要操作系統,折騰各種功能強大的軟件是常有的事兒。這些軟件有它們各自的配置文件,通常以 .
開頭,因此有人管它們叫 dotfiles
。一旦 dotfiles 的數量增多,并且所在的位置不同,怎樣合理有效的管理它們是一個問題。
一個簡單的方法是:將所有配置文件統一丟進一個文件夾,用 git 進行管理,用 ln -s
鏈接到原來的位置(比如家目錄下)。
我在這里推薦一個命令行腳本——dotsync ,它可以將上面的方法更加簡化,并且在不同機器上進行同步。怎樣使用?你可以參考一下我的 dotfiles 。
dotsync 的使用
第一步,將 dotsync 克隆下來,在家目錄下創建一個 Dotfiles
文件夾(名稱任意),把 dotsync 中的配置模板 dotsyncrc
文件復制進去。
第二步,把所有需要管理的 dotfiles 復制到 Dotfiles/
目錄中(例如 .vimrc, .zshrc 等等)。
第三步,修改 dotsyncrc
這個配置文件。如下:
# Location of your dotfiles in $HOME
DOTFILES=Dotfiles
# 添加你需要鏈接的文件
[files]
dotsyncrc # 相當于 ln -s dotsyncrc ~/.dotsyncrc
emacs/xm-spacemacs:.emacs.d # 相當于 ln -s emacs/xm-spacemacs ~/.emacs.d
emacs/spacemacs # 相當于 ln -s emacs/spacemacs ~/.spacemacs
...
[endfiles]
[hosts]
xm-pc git=ANY # 計算機名稱
[endhosts]
第四步,運行 dotsync 命令。
# 假設你把 dotsync 克隆到了家目錄下
~/dotsync/bin/dotsync # 運行,會提示你選擇參數
~/dotsync/bin/dotsync -l # 查看將要鏈接的文件列表
~/dotsync/bin/dotsync -f ~/Dotfiles/dotsyncrc -L # -f 指定配置文件,-L 生成軟鏈接
這個時候,你在 dotsyncrc
中指定的文件,都在指定位置創建了軟鏈接。如果文件已經存在,它們都將備份到 ~/.backup/
目錄。當你編輯軟鏈接文件的時候,實際上編輯的是 Dotfiles 目錄中的源文件。
第五步,這個時候,就可以使用 git 管理備份 Dotfiles 文件夾了。
將 dotsync 添加到 Shell 的 PATH 路徑
一個問題:怎樣在命令行中直接使用 dotsync?
我在 Dotfiles/
目錄下創建了一個 bin/
目錄,專門用來存放一些用戶自己編寫的腳本。然后把這個 bin 目錄添加到 shell 的 PATH 路徑,即在 .zshrc 文件中添加一行:
export PATH="$HOME/Dotfiles/bin:$PATH"
然后,
source ~/.zshrc # 重載 zshrc 文件
$PATH # 查看 PATH
這樣,我們就可以在命令行中直接使用 dotsync 這個命令了。