我的 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 创建新的 tmux 会话
重命名当前会话 <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 / l 以 vim 风格切换面板
调整面板大小 <p> Option + h / j / k / l 每次调整 5 格
面板最大化 / 还原 <p> f 在最大化和原布局间切换
交换面板位置 <p> > / < 向下 / 向上交换面板
开关面板同步输入 <p> S 同时向所有面板发送按键
显示面板编号 <p> q 临时显示每个面板编号
关闭当前面板 Option + x 带确认,无需前缀

复制模式

操作 快捷键 说明
进入复制模式 <p> v 进入 tmux 复制模式
开始选中 / 矩形选中 v / Ctrl + v 在线性与矩形选中间切换
复制并退出 y 复制选中内容到系统剪贴板并退出
取消并退出复制模式 Esc 放弃选中并退出
粘贴最新缓冲区内容 <p> p 粘贴最近一次复制内容

其他

操作 快捷键 说明
热重载 tmux 配置 <p> r 重新加载配置文件
手动保存会话 <p> Ctrl + s 使用 tmux-resurrect 保存会话
手动恢复会话 <p> Ctrl + r 使用 tmux-resurrect 恢复会话
清屏 <p> Ctrl + l 清理当前终端显示
显示时钟 <p> t 打开时钟界面

neovim

Leader 键为 Space(下文简称 <leader>

nvim 常见操作

nvim / Vim 普通模式下:

操作 快捷键 说明
移动到行首 0 到这一行的第 1 个字符位置
移动到行首第一个非空白字符 ^ 跳过缩进空格
移动到行尾 $ 到这一行最后一个字符
向后移动一个单词 w 到下一个单词开头
向后移动到单词末尾 e 到当前或下一个单词末尾
向前移动一个单词 b 到上一个单词开头
向前移动到单词末尾 ge 到上一个单词末尾
删除到行首 d0 删除到行首
删除到行首第一个非空白字符 d^ 删除到行首第一个非空白字符
删除到行尾 Dd$ 删除到行尾
删除当前行 dd 删除当前行
删除当前行并进入插入模式 cc 删除当前行并进入插入模式
删除从当前行开始的 3 行 3dd 删除从当前行开始的 3 行
撤销 u 撤销
重做 / 反撤销 Ctrl + r 重做 / 反撤销
撤销当前行的所有修改 U 撤销当前行的所有修改

nvim / Vim 普通模式下,复制叫 yank,粘贴叫 put

操作 快捷键 说明
复制当前行 yy yank 一整行
粘贴到光标下一行 p put after
粘贴到光标上一行 P put before
复制 3 行 3yy 从当前行开始复制 3 行
复制到行尾 y$ 从光标复制到行尾
复制一个单词 yiw 复制光标所在单词

文件与缓冲区

操作 快捷键 说明
打开 / 关闭文件树 <leader>e 使用 nvim-tree
切换到上一个缓冲区 Shift + h 跳到上一个 buffer
切换到下一个缓冲区 Shift + l 跳到下一个 buffer
保存文件 <leader>w 写入当前文件
退出 <leader>q 退出当前窗口或会话

搜索(Telescope)

操作 快捷键 说明
模糊搜索文件名 <leader>ff 使用 Telescope 查找文件
全局内容搜索 <leader>fg live grep
搜索已打开缓冲区 <leader>fb 在已打开 buffer 中查找
搜索帮助文档 <leader>fh 查找 help tags

窗口

操作 快捷键 说明
分割窗口间导航 Ctrl + h / j / k / l 在分屏窗口间移动焦点
调整窗口高度 Option + ↑ / ↓ 增大 / 减小窗口高度
调整窗口宽度 Option + ← / → 减小 / 增大窗口宽度

LSP

操作 快捷键 说明
悬浮查看文档 K 显示光标处符号文档
跳转到定义 gd 进入定义位置
查看所有引用 gr 列出引用位置
查看代码修复建议 <leader>ca 打开 code action
重命名符号 <leader>rn 重命名当前符号
查看当前行诊断详情 <leader>d 显示诊断浮窗
跳转诊断 ]d / [d 下一个 / 上一个诊断
打开诊断列表 <leader>dl 展示诊断列表面板

补全(插入模式)

操作 快捷键 说明
选择下一个补全项 / 展开或跳转 snippet Tab 在补全和 snippet 间复用
选择上一个补全项 Shift + Tab 向上选择候选项
确认当前补全项 Enter 提交当前候选项

包围操作(mini.surround)

操作 快捷键 说明
添加包围字符 sa{motion}{字符} saiw" 给单词加引号
删除包围字符 sd{字符} sd" 删除引号
替换包围字符 sr{旧}{新} sr"' 把双引号换成单引号

Git(Snacks + Lazygit)

操作 快捷键 说明
打开 Lazygit <leader>gg 启动 Lazygit 界面
查看当前行 Git Blame <leader>gb 显示当前行提交信息
查看当前文件提交历史 <leader>gf 打开当前文件 commit 记录
查看仓库提交历史 <leader>gl 查看整个仓库历史
在浏览器打开当前文件 <leader>gB Git Browse

终端

操作 快捷键 说明
打开 / 关闭浮动终端 Ctrl + / 切换浮动终端显示

其他

操作 快捷键 说明
清除搜索高亮 <leader>nh 清除上一次搜索高亮