dotfiles
type
Post
status
Published
date
slug
dotfiles
summary
tags
icon
1. 初始化
什么都不用创建,直接在 ~ 目录下执行下面三条命令就行
做了以下这些事:
- 创建
~/.dotfiles
目录
- add Dotbot as a submodule
- 让Dotbot清理用户主目录中由Dotbot添加的损坏链接。简单来说,如果你允许它清理损坏的链接,它将会删除你主目录中所有Dotbot无法找到原始文件路径的损坏链接。
- Dotbot
~/.profile
- Dotbot
~/.bashrc
- 设置 git 全局(可选) 用户名和邮箱
执行完可以看到
~/.profile
和 ~/.bashrc
两个文件被链接2. .install.conf.yaml
格式如下:
link
下的格式为 在 ~ 目录下的文件名: 在该目录中的文件名及位置
(中间用分号空格隔开),且该目录中的要有这个文件,这样才能映射到外面(~
)去;如果外面有文件,需要先删除该文件。例如我想在
~
目录下有个 .yabairc
文件,对应放在 .dotfiles/yabai
目录下的 yabairc
文件:- 在
.dotfiles
目录下创建yabai
目录
- 在
yabai
目录下创建yabairc
文件
- 删除
~
目录下的.yabairc
文件(如有)
link
部分为:~/.yabairc: ./yabai/yabairc
- 执行
./install
脚本
如果省略源位置或将其设置为
null
,Dotbot 将使用目标文件的基本名称,如果存在,则去除前导 .
。2.1 添加文件(以 vim 为例)
以 vimrc 为例
- 在
~/.dotfiles
目录下新建一个vimrc
文件
- 修改
.install.conf.yaml
- 在
~/.dotfiles
目录下执行./install
2.2 vim 插件
不需要在 Vim 使用一个插件 管理器(从 Vim 8.0 开始)。你可以使用内置的插件管理系统。只需要创建一个
~/.vim/pack/vendor/start/
的文件夹,然后把插件放到这里(比如通过 git clone
)。- 创建目录
- 修改
.install.conf.yaml
- 在
~/.dotfiles
目录下执行./install
- 添加插件
:NERDTree
进入 NERDTree- 在
~/.vimrc
中添加 nerdtree 的快捷键指令 - 按下
?
打开 quickhelp,再按下?
退出 - 使用 h/j/k/l 等 vim 控制键在 左侧目录区移动光标
- 使用
o
预览,对目录来说是展开,对文件来说是在右侧窗口中打开。 - 如何回到左侧目录树?
Ctrl + w
h
(和在多个vim窗口中移动焦点一样) - 使用
t
或T
在新 tab 中打开当前文件,gt
命令将向后切换到下一个标签页,gT
命令将向前切换到上一个标签页。:tabc
关闭当前 tab I
显示/隐藏 .文件- 分屏打开
- 文件搜索:使用
/
键可以在 Nerdtree 中搜索文件。 - 目录导航:
P
回到当前 nerdtree 的根目录p
回到当前光标所在的父目录K
/J
:当前光标所在目录层级的第一个项目/最后一个项目Ctrl-j
/Ctrl-k
:当前光标所在层级的上一个/下一个同同层级项目- 文件操作
C
将当前 nerdtree 根目录设置为当前选中目录m
显示对当前文件或目录的操作u
/U
回到当前目录的上级目录(后者保持当前目录展开)cd
将当前光标所在目录设为 cwdCD
将 nerdtree 顶部目录跳转到 cwd
以 为例
使用
使用
\n
即可快捷打开 NerdTree, \f
在 NERDTree 窗口中定位并打开当前编辑文件所在目录。i
/ gi
上下分屏(前者光标会到新打开的文件窗口中,后者则保持在 NERDTree 窗口)
s
/ gs
左右分屏(同上)
2.3 tmux 插件
2.3.1 安装 tmux-plugins/tpm: Tmux Plugin Manager
- 先在
~/.dotfiles
目录下创建tmux
目录
- 在
.install.conf.yaml
link 项目下添加~/.tmux:
- clone tpm
2.3.1 配置 ~/.tmux.conf
重新加载 tmux
2.3.2 安装其他插件
以 (可在 tmux 状态栏显示 CPU 用量)为例
- 在
~/.tmux.conf
添加 - 在
~/.tmux.conf
删除 @plungin 行及相关配置行 - 按
prefix
alt+u
(Mac 是 Opt + u,但默认会出现一个ü
字符,需要被 Opt 设为 Meta 键,在 Warp 中设置如下)
设置显示方式
在 tmux 中 按
pre
I
,会自动拉取插件卸载插件
2.4 zsh
2.4.1 将 bash 换为 zsh
执行完后需要重启终端:
exit
(或 exec bash
?)2.4.2 安装zsh插件
添加配置,创建目录(zsh/plugins)和文件(zshrc, p10k.zsh),然后执行 ./install
- 安装 nerd fonts 字体
- 服务器安装
以 Mac 为例
修改终端模拟器(如 warp,iterm2 等)的字体
修改 VS Code 终端字体为 MesloLGM Nerd Font Mono
Restart Zsh with
exec zsh
Type
p10k configure
if the configuration wizard doesn't start automatically.2.4.3 安装其他软件
-
./zoxide_install.sh
3. submodule
由于已经 add 了,所以需要
-f
参数4. 推送到 GitHub
- 机器上生成 公钥
- GitHub 网页端
Settings -> SSH and GPG keys -> New SSH key
中将公钥内容粘贴进去,并取一个适当的名称。
- 机器上执行
4. 其他机器使用
- 创建目录,并与远程仓库连接,然后拉取 main
- 执行
./install
(如果有重复文件或目录,需手动删除后再次运行./install
)