我的 Dotfiles 好用的配置
我的 Dotfiles 好用的配置
zsh
Ctrl + t选中文件直接插入到命令行cd + 项目关键词cd绑定了zoxide,常去的目录会被优先命中Ctrl + r输入关键字筛历史命令Option + c模糊选目录并直接切过去Tab模糊补全,输入如vim **<Tab>、cat **<Tab>,会走 fzf 的路径补全逻辑。Ctrl + u删除光标左侧整行Ctrl + A行首Ctrl + E行尾Ctrl + W删除前一个单词Ctrl + K删除到行尾Option + ← / Option + →:按单词左右跳Option + Backspace:删除前一个单词
tmux
前缀键为
Ctrl + a(下文简称<p>)
会话管理
<p> N新建会话<p> R重命名当前会话<p> K删除当前会话(带确认)Option + 1~9按序号切换会话(无需前缀)
窗口管理
<p> c新建窗口(继承当前路径)<p> ,重命名当前窗口<p> X关闭当前窗口(带确认)<p> Ctrl + h / Ctrl + l切换到上一个 / 下一个窗口<p> Tab切换到上一个使用的窗口<p> H / L把当前窗口向左 / 向右移动<p> 0~9跳转到对应编号的窗口
面板管理
<p> \左右分割面板<p> -上下分割面板<p> h / j / k / lvim 风格在面板间导航<p> Option + h / j / k / l调整面板大小(每次 5 格)<p> f面板最大化 / 还原<p> > / <向下 / 向上交换面板位置<p> S开关面板同步输入(同时向所有面板发送按键)<p> q显示面板编号Option + x关闭当前面板(带确认,无需前缀)
复制模式
<p> v进入复制模式- 复制模式中
v开始选中,Ctrl + v切换矩形选中 - 复制模式中
y复制选中内容到系统剪贴板并退出 - 复制模式中
Esc取消并退出复制模式 <p> p粘贴最新缓冲区内容
其他
<p> r热重载 tmux 配置<p> Ctrl + s手动保存会话(tmux-resurrect)<p> Ctrl + r手动恢复会话(tmux-resurrect)<p> Ctrl + l清屏<p> t显示时钟
neovim
Leader 键为
Space(下文简称<leader>)
文件与缓冲区
<leader>e打开 / 关闭文件树(nvim-tree)Shift + h切换到上一个缓冲区Shift + l切换到下一个缓冲区<leader>w保存文件<leader>q退出
搜索(Telescope)
<leader>ff模糊搜索文件名<leader>fg全局内容搜索(live grep)<leader>fb搜索已打开的缓冲区<leader>fh搜索帮助文档
窗口
Ctrl + h / j / k / l在分割窗口间导航Option + ↑ / ↓增大 / 减小窗口高度Option + ← / →减小 / 增大窗口宽度
LSP
K悬浮查看文档gd跳转到定义gr查看所有引用<leader>ca查看代码修复建议<leader>rn重命名符号<leader>d查看当前行诊断详情]d/[d跳到下一个 / 上一个诊断<leader>dl打开诊断列表
补全(插入模式)
Tab选择下一个补全项,或展开 / 跳转 snippetShift + Tab选择上一个补全项Enter确认当前补全项
包围操作(mini.surround)
sa{motion}{字符}给文本添加包围,如saiw"给单词加引号sd{字符}删除包围字符,如sd"删除引号sr{旧}{新}替换包围字符,如sr"'把引号换成单引号
Git(Snacks + Lazygit)
<leader>gg打开 Lazygit<leader>gb查看当前行 Git Blame<leader>gf查看当前文件的提交历史<leader>gl查看整个仓库的提交历史<leader>gB在浏览器中打开当前文件(Git Browse)
终端
Ctrl + /打开 / 关闭浮动终端
其他
<leader>nh清除搜索高亮