Neovim常用快捷键

normal模式下

移动/编辑相关

快捷键 作用
h
j
k
l
ctrl + j/k 上下跳4行
ctrl + u/d 上下9行
i 在光标前插入
a 在光标后插入
A 到末尾插入
I 到首插入
s 删当前字符并进入插入模式
zc 折叠代码
zo 打开折叠
u 撤销上一次代码修改/undo
ctrl + r 与u相反/redo

tab/buffer/标签相关(按vim的用法来说应该叫buffer)

快捷键 作用
ctrl + h/l 左右切换tab
ctrl + w 关闭当前tab
<leader>bl 关闭右边所有tab
<leader>bh 关闭左边所有tab
<leader>bc 选择关闭tab

窗口相关

快捷键 作用
option + h/j/k/l 左下上右切换窗口
sv 左右分屏
sh 上下分屏
sc 关闭当前窗口
<leader> + t 底部打开terminal
<leader> + vt 侧边打开terminal
s, 当前窗口左右比例缩小
s. 当前窗口左右比例放大
sj 当前窗口上下比例放大
sk 当前窗口上下比例缩小

tree(侧边栏)相关

快捷键 作用
ctrl + m 隐藏与显示tree
Enter 打开tree中选中的文件
v 左右分屏打开
h 上下分屏
i 忽略node_modules
. 显示与隐藏隐藏文件
F5 refresh file
a create file
d remove file
r rename file
x cut file
c copy file
p paste file
s system_open file
o open file

telescope搜索相关

快捷键 作用
ctrl + p 搜索文件
ctrl + f 全局搜索
ctrl + j 向下移动选择文件
ctrl + k 向上移动选择文件
ctrl + n 历史搜索下一个
ctrl + p 历史搜索上一个
ctrl + c 关闭搜索页面
ctrl + u 预览上滚
ctrl + d 预览下滚

LSP相关

快捷键 作用
gd 跳到变量的定义处
gh 悬浮显示当前变量的信息
gp 显示当前文件的错误的代码信息
gj 跳到下一个错误代码的地方
gk 跳到上一个错误代码的地方
<leader> + f 格式化代码
ctrl + j/n 选择下一个提示
ctrl + k/p 选择上一个提示
Enter 确认选择
<leader> + rn 重命名变量名

退出

快捷键 作用
q :q
qq :q!
Q :qa!

Inser模式下

移动/编辑相关

快捷键 作用
option + h/j/k/l 左下上右移动
ctrl + b 到末尾
ctrl + e 到首
ctrl + j 开辟新行

Visual模式下

移动相关

快捷键 作用
j 向下移动代码
k 向上移动选中的代码
< 左缩进代码
右缩进代码
= 选中代码后格式化代码

常用命令

命令 作用
:q 退出
:q! 强制退出
:w 保存
:qa 退出并关闭
:qa! 强制退出并关闭
:wq 保存并退出
:PackerCompile 每次改变插件配置时,必须运行此命令或 PackerSync, 重新生成编译的加载文件
:PackerClean 清除所有不用的插件
:PackerInstall 清除,然后安装缺失的插件
:PackerUpdate 清除,然后更新并安装插件
:PackerSync(最常使用) 执行 PackerUpdate 后,再执行 PackerCompile
:h base-directories 查看详细文档
:echo stdpath("data") 查看你系统下Neovim的数据存储在标准数据目录的实际路径
:colorscheme Tab键 查看内置主题色
:echo $VIMRUNTIME 查看VIMRUNTIME 具体的路径
:h nvim-tree.setup 查看nvim-tree的帮助文档
:NvimTreeToggle 再按Enter即可打开或关闭侧边栏
:checkhealth telescope 检查telescope依赖情况
:Telescope find_files 打开搜索文件窗口,快速打开文件
:Telescope live_grep 可以打开搜索窗口,输入内容后,结果会实时显示
:Telescope buffers 命令可以列出打开的 buffers
:Telescope git_files 列出 git 文件
:Telescope man_pages 列出帮助
:Telescope env 打开环境变量列表
Telescope colorscheme 换肤功能
:TSInstallInfo 命令查看 language parsers 列表与安装状态
:TSInstall <language_to_install> 安装指定的 Language parser 例如:TSInstall javascript
:TSModuleInfo 查看你的模块是否开启成功
LSP相关命令
:h lsp 查看 LSP 文档
:LspInstallInfo 安装 LSP Servers的图形化界面
j/k 移动光标到你要安装的 server
i 安装server
X 卸载该 server
u 更新 server
U 更新所有 servers
c 检查 server 新版本
C 检查所有 servers 的新版本
Esc 关闭窗口
? 显示其他帮助信息
:LspInfo 查看绑定的 Language Server 信息
:NullLsInfo 查看源的激活情况
:lua vim.lsp.buf.formatting_sync() 格式化代码
:lua vim.lsp.buf.formatting_sync(nil, 9999) 不加参数可能会报Time out
echo executable('xxx') 查看某个命令是否可用 例如echo executable('rubocop')查看rubocop是否可用,一般用来排查格式化代码时需要的命令是否已安装

参考文章