Zsh Vi-Mode使用手册
Vi 习惯指南: Zsh
环境声明:Arch Linux | Kitty 0.44 | Zsh (Vi-mode) | Neovim v0.11.5 | Hyprland (JaKooLit)
本指南旨在将 HJKL 的肌肉记忆贯穿整个系统:从窗口管理到终端编辑,再到历史回溯。
1. 终端级:Zsh Vi-Mode 核心操作
在终端执行 bindkey -v 后, Zsh 变成了“单行 Vim”。
🔹 模式切换
- 进入命令模式 (Normal):输入
jk(自定义) 或ESC。- 视觉提示:光标变为 方块 █。
- 进入插入模式 (Insert):按
i(前插)、a(后插)、I(行首)、A(行尾)。- 视觉提示:光标变为 竖线 |。
🔹 移动与快速定位 (Normal Mode)
- 基础:
hjkl(左 下 上 右)。 - 单词:
w(跳至下个单词头),b(跳至上个单词头),e(跳至单词尾)。 - 行缘:
0(行首),$(行尾)。 - 历史翻阅:
j/k或/后输入关键词回车。
🔹 极速编辑
- 删除:
x(删字符),dw(删单词),dd(清空行)。 - 修改:
cw(改单词),C(改至行尾)。 - 撤销:
u(Undo)。
2. 跨维度:Kitty + Neovim 联动
通过配置 scrollback_pager,我们可以用 Neovim 的威力来处理终端历史输出。
🔹 历史回溯 (Alt + H)
- 按下
Alt + H:当前终端所有输出在一个临时的 Neovim 缓冲区打开。 - 搜索:输入
/关键词快速定位报错信息或日志。 - 复制:按
v选中,按y复制(已同步至系统剪切板)。 - 退出:输入
:q瞬间回到直播终端。
🔹 长命令编辑 (Normal Mode -> v)
- 在输入复杂命令时,按
jk进入命令模式。 - 按下
v。 - 在弹出的全屏 Neovim 中编写脚本。
:wq保存退出,命令自动回填并准备执行。
3. 系统级:Hyprland 窗口管理
利用 Super (Windows 键) 配合 HJKL 实现无感窗口切换。
Super + H/J/K/L:在当前工作区切换窗口焦点。Super + Shift + H/J/K/L:物理移动当前窗口的位置。
💡 核心配置备忘 (Configuration Cheat-sheet)
Zsh (~/.zshrc)
1 | bindkey -v |
Kitty (~/.config/kitty/kitty.conf)
1 | scrollback_pager nvim -c "set signcolumn=no showtabline=0" -c "silent! write! /tmp/kitty_scrollback_buffer | te cat /tmp/kitty_scrollback_buffer - " -c "normal G" |
Hyprland (~/.config/hypr/UserConfigs/UserKeybinds.conf)
1 | bind = $mainMod, H, movefocus, l |
📋 常用快捷键速查表
| 功能维度 | 快捷键 | 动作描述 |
|---|---|---|
| 模式切换 | jk |
退出插入模式 |
| 命令编辑 | v |
在 Neovim 中编辑当前行 |
| 屏幕复制 | Alt + H |
像编辑文件一样复制终端历史 |
| 历史命令 | k / j |
向上/下翻阅历史 |
| 窗口聚焦 | Super + HJKL |
切换当前工作区窗口 |
| 窗口位移 | Super + Shift + HJKL |
调整窗口布局 |
Generated by Arch_z Config Reference