前置安装
sudo pacman -S stow安装一些软件本体。
sudo pacman -S tree安装 tree 可以用来查看树形结构。
使用
复刻目录
在 ~ 目录下创建一个 .dotfiles 文件夹,这就是 stow 需要管理的根目录。
然后在根目录下,根据你自己的需求,创建一个又一个包,例如我有个 vim 配置文件,位置是 ~/.vim,那我就创建一个文件夹在根目录下:~/.dotfiles/vim,接着完全复制这个结构,从 ~ 开始,但是不包括 ~,也就是在包下面创建目录:.vim。
合起来也就是 ~/.dotfiles/vim/.vim。
.dotfiles 下的是包,包下面的才是需要复刻的路径,需要完全按照从 ~ 开始复刻。
再举个例子:我需要用 dotfiles 存储 neovim 配置。
原本的位置是 ~/.config/nvim。
我就一步一步来,先创建包:mkdir -p ~/.dotfiles/nvim。
接着复刻目录:mkdir -p ~/.dotfiles/nvim/.config/nvim,这里其实复刻到上级目录就行。也就是到 .config 为止即可。
复制原本文件
然后就是把原本的配置文件位置移动到复刻的目录中。
还是以 neovim 为例:
mv ~/.config/nvim ~/.dotfiles/nvim/.config/这就复制完了。
vim 也是一样的 mv ~/.vim ~/.dotfiles/vim/
使用stow
用 stow 指令后面跟包名,就能在原本的位置创建一个 link 指向 .dotfiles 中的文件。
如果不使用该指令,是没法使用的,因为已经把原本的配置文件移走了。
还是以 neovim 为例:
cd ~/.dotfiles
stow nvim或者一次性全部链接:
stow */删除链接
stow -D nvim查看 link
使用 ls -l 即可查看连接的文件。
输出的每一行的第一个字符都代表了文件类型:
- d:表示目录
- -:表示普通文件
- l:表示符号链接
tree
可以用 tree 指令来查看目录结构。
tree -a 可以查看隐藏文件夹。
git 储存
使用 git 来确保每次变化都是可控,可回调。
fork 与 dotfiles 辨析
fork 是创建一个自己的分支,但是如果原分支进行更新,可能会出现 diff,可能会非常棘手。
而 dotfiles 只是用户配置。
所以推荐使用 dotfiles 来保存配置。
非常重要的
- 不要储存数据文件,或者是一些浏览器的一些记录
- 只存贮配置文件,可以使
.config下的,也可以是.local下的,但是.local下的要注意,只要配置,不要数据