Neovim 操作指南

核心概念

Leader 键 = 空格键(你配置中设置的,很多快捷键以它开头)


一、基础 Vim 操作(必须掌握)

模式切换

按键 作用
i 进入插入模式(光标前)
a 进入插入模式(光标后)
o 下方新建行并进入插入模式
O 上方新建行并进入插入模式
v 可视模式(选择文本)
V 可视行模式(选择整行)
Ctrl+v 可视块模式(列选择)
Esc 返回普通模式

光标移动

按键 作用
h j k l 左 下 上 右
w 下一个词首
b 上一个词首
e 当前/下一个词尾
行首
$ 行尾
gg 文件开头
G 文件末尾
数字+G 跳转到指定行(如 50G
Ctrl+d 向下翻半页
Ctrl+u 向上翻半页
% 跳转到匹配的括号

编辑操作

按键 作用
x 删除当前字符
dd 删除整行
dw 删除到词尾
d$D 删除到行尾
yy 复制整行
yw 复制单词
p 粘贴(光标后)
P 粘贴(光标前)
u 撤销
Ctrl+r 重做
cc 删除整行并进入插入模式
cw 删除单词并进入插入模式
. 重复上次操作

搜索

按键 作用
/关键词 向下搜索
?关键词 向上搜索
n 下一个匹配
N 上一个匹配
* 搜索光标下的单词

二、你的配置快捷键

文件操作(最常用)

快捷键 作用
空格 w 保存文件
空格 q 退出
空格 e 打开/关闭文件树 (Neo-tree)

文件搜索(Telescope)

快捷键 作用
空格 ff 查找文件(模糊搜索)
空格 fg 全局内容搜索 (grep)
空格 fb 搜索已打开的缓冲区
空格 fh 搜索帮助文档

缓冲区/标签页

快捷键 作用
Shift+h 上一个缓冲区
Shift+l 下一个缓冲区
空格 bd 关闭当前缓冲区
空格 bo 关闭其他所有缓冲区

窗口操作

快捷键 作用
Ctrl+h 跳转到左边窗口
Ctrl+j 跳转到下边窗口
Ctrl+k 跳转到上边窗口
Ctrl+l 跳转到右边窗口
:vs 垂直分割窗口
:sp 水平分割窗口

代码相关(LSP)

快捷键 作用
gd 跳转到定义
gr 查找所有引用
K 显示悬停文档
空格 rn 重命名变量/函数
空格 ca 代码操作(快速修复等)

自动补全(插入模式下)

快捷键 作用
Ctrl+Space 触发补全菜单
Tab 选择下一项
Shift+Tab 选择上一项
Enter 确认选择

可视模式增强

快捷键 作用
< 减少缩进(保持选中)
> 增加缩进(保持选中)
J 选中内容下移一行
K 选中内容上移一行

三、启动界面快捷键 (Alpha)

启动 nvim 时显示的仪表板:

按键 作用
f 查找文件
r 最近文件
g 全局搜索
e 文件浏览器
c 编辑配置
q 退出

四、which-key 提示

按住空格键稍等片刻,会弹出快捷键提示面板,帮你记忆所有以空格开头的快捷键。


五、日常工作流

打开项目

cd 你的项目目录
nvim .

典型操作流程

  1. 空格 e → 打开文件树浏览项目
  2. 空格 ff → 模糊搜索快速打开文件
  3. 空格 fg → 搜索代码内容
  4. 编辑代码,gd 跳转定义,gr 查看引用
  5. 空格 w → 保存
  6. Shift+h/l → 切换已打开的文件

退出

  • :q → 退出(未修改时)
  • :q! → 强制退出(放弃修改)
  • :wq空格 w 然后 空格 q → 保存并退出
  • :qa → 退出所有

六、你配置中的插件

插件 作用
neo-tree 文件树浏览器
telescope 模糊搜索神器
nvim-cmp 智能补全
treesitter 语法高亮
mason LSP 服务器管理
gitsigns Git 变更标记
bufferline 顶部标签栏
lualine 底部状态栏
which-key 快捷键提示
noice 现代化通知界面
everforest 主题配色

七、常用命令

命令 作用
:w 保存
:q 退出
:e 文件名 打开文件
:数字 跳转到行号
:%s/旧/新/g 全局替换
:Lazy 打开插件管理器
:Mason 打开 LSP 安装器
:checkhealth 检查 nvim 健康状态

八、快速记忆口诀

  • 空格 = Leader,所有自定义功能入口
  • 空格 f = Find 系列(ff 文件,fg grep)
  • 空格 e = Explorer 文件树
  • 空格 b = Buffer 缓冲区操作
  • g 开头 = Go 跳转系列(gd 定义,gr 引用)
  • Ctrl+hjkl = 窗口间移动
  • Shift+hl = 缓冲区切换

发表回复

Your email address will not be published. Required fields are marked *.

*
*