前置安装

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

使用 ls -l 即可查看连接的文件

输出的每一行的第一个字符都代表了文件类型:

  1. d:表示目录
  2. -:表示普通文件
  3. l:表示符号链接

tree

可以用 tree 指令来查看目录结构。

tree -a 可以查看隐藏文件夹。

git 储存

使用 git 来确保每次变化都是可控,可回调。

fork 与 dotfiles 辨析

fork 是创建一个自己的分支,但是如果原分支进行更新,可能会出现 diff,可能会非常棘手。

而 dotfiles 只是用户配置。

所以推荐使用 dotfiles 来保存配置。

非常重要的

  1. 不要储存数据文件,或者是一些浏览器的一些记录
  2. 只存贮配置文件,可以使 .config 下的,也可以是 .local 下的,但是 .local 下的要注意,只要配置,不要数据