Neovim快捷键
常用键位映射
i
j
k
c
d
w
等 Vim 原生键位不再赘述,此处仅介绍本插件整合包额外增加或不同的。以下默认读者知晓 Vim 的四大模式:普通模式(NORMAL)、插入模式(INSERT)、可视模式(VISUAL)、终端插入模式(TERMINAL)。
不同模式下有独立的键位映射,以下除非特殊说明,默认指的是普通模式下的映射。
太长不看(简略版)
基本
jk
/kj
/<Esc>
回到普通模式
q
/:wq
/ZZ
保存并退出
Q
记录宏
gl
/$
移动到行末尾
gh
/^
移动到行开头(不包括空格)
3gl
/$2l
移动到行末尾倒数第 3 个字符
3gh
/^2h
移动到行开头倒数第 3 个字符
<M-h>
向左移动若干格
<M-j>
向下移动若干格
<M-k>
向上移动若干格
<M-l>
向右移动若干格
<M-z>
当前所在行居中
<M-b>
跳转到上若干个单词的开头
<M-e>
跳转到下若干个单词的末尾
<M-w>
跳转到下若干个单词的开头
跳转
gd
跳转到定义
gD
跳转到声明
gy
跳转到变量类型的定义
gY
跳转到虚函数实现
go
头文件和源文件来回跳转
gr
寻找符号引用
gz
罗列所有相关信息(定义、引用等)
gf
打开光标下的文件名
gF
打开光标下的文件名并跳到右侧指定的行号
gx
打开光标下的网页链接
<C-o>
跳转回来
重构
gcc
注释/取消注释当前选中的代码/行
gn
重命名变量
gw
尝试自动修复问题
g=
自动格式化当前代码
预览
K
悬浮窗查看文档
gsf
预览函数定义
gsc
预览类定义
gsd
预览语法错误
开关
gso
打开大纲
gsg
打开 Git 面板
gsp
打开项目文件树
gss
查看所有静态语法错误
gsl
查看所有编译器报错
gsi
开关 Inlay Hint
标签页
<F4>
或:wa
一键保存所有打开的文件
<F3>
或gt
切换到下一个标签页
<F2>
或gb
切换到上一个标签页
<F1>
或g<Tab>
将当前标签页固定在最前
<S-F3>
或gT
将当前标签页右移一位
<S-F2>
或gB
将当前标签页左移一位
<S-F1>
或g<BS>
关闭当前标签页
<C-S-F3>
或g<C-t>
关闭右侧所有标签页
<C-S-F2>
或g<C-b>
关闭左侧所有标签页
<C-S-F1>
或g<S-Tab>
关闭除当前标签页外所有
g<Space>
选择跳转到一个标签页
文本查找
,.
当前文件中模糊查找
,k
当前项目中正则表达式查找
,l
当前项目中的所有文件
,b
当前 Vim 已打开文件
,o
最近打开过的历史文件
,i
当前所有加入 Git 仓库的文件
,p
当前 Git 有未提交修改的文件
,c
所有 Git 提交历史
,v
所有 Git 分支
,L
当前项目所有加入 CMake 的.cpp
源文件
,O
当前项目所有CMakeLists.txt
和.cmake
文件
,x
当前文件中所有符号
,j
当前 Vim 跳转历史
,m
所有m
创建过的书签
,/
历史/
搜索记录
,:
历史执行过的 Vim 命令
,;
所有可用的 Vim 命令
,?
所有 Vim 帮助文档
,a
所有静态检查错误
,q
所有编译器报错
,,
多功能模糊查找
选择
vac
选中当前类
vic
选中当前类体内
vaf
选中当前函数
vif
选中当前函数体
vab
选中当前块
vib
选中当前块中内容
vad
选中当前分支
vid
选中当前分支块或条件
vae
选中当前循环
vie
选中当前循环体
vai
选中当前函数调用语句
vii
选中当前函数调用语句的参数列表
vap
选中当前参数(包括空格和逗号)
vip
选中当前参数(不包括空格和逗号)
vah
选中当前赋值语句
vih
选中当前赋值语句中的左侧值
var
选中当前返回语句
vir
选中当前返回语句返回值
vin
选中当前数字
vat
选中当前注释块
+
扩大选择
-
缩小选择
举一反三:
dat
删除当前注释块,cip
修改当前参数移动
]c
下一个类开头
[c
上一个类开头
]C
下一个类结尾
[C
上一个类结尾
]f
下一个函数开头
[f
上一个函数开头
]F
下一个函数结尾
[F
上一个函数结尾
...以此类推,所有英文字母同上“选择”所述...
<Space>
全屏任意移动
换位
mh
左移参数
ml
右移参数
mj
下移当前语句
mk
上移当前语句
maf
下移当前函数
mif
上移当前函数
mac
下移当前类
mic
上移当前类
括号
可视(VISUAL)模式中:
s)
给当前选中内容包上(选中内容)
括号
s}
给当前选中内容包上{选中内容}
括号
s]
给当前选中内容包上[选中内容]
括号
s>
给当前选中内容包上<选中内容>
尖括号
s'
给当前选中内容包上'选中内容'
单引号
s"
给当前选中内容包上"选中内容"
双引号
stspan
给当前选中内容包上<span>选中内容</span>
标签
sta href="b.html"
给当前选中内容包上<a href="b.html">选中内容</a>
标签
普通(NORMAL)模式中:
ysi<range><brace>
添加括号
cs<oldbrace><newbrace>
改变括号
ds<brace>
删除括号
<!-- 例如光标停在
world
上: -->
<!-- -->
<!-- cpp --> <!-- hello world --> <!--
-->
<!-- -->
<!-- 按下 viws"
或 ysiw"
-->
<!-- -->
<!-- cpp --> <!-- hello "world" --> <!--
-->
<!-- -->
<!-- 按下 cs")
-->
<!-- -->
<!-- cpp --> <!-- hello (world) --> <!--
-->
<!-- -->
<!-- 按下 ds)
-->
<!-- -->
<!-- cpp --> <!-- hello world --> <!--
-->窗口
<C-q>
关闭当前窗口
<C-h>
移动到当前左侧的窗口
<C-j>
移动到当前下方的窗口
<C-k>
移动到当前上方的窗口
<C-l>
移动到当前右侧的窗口
<C-S-h>
将当前窗口向左移动
<C-S-j>
将当前窗口向下移动
<C-S-k>
将当前窗口向上移动
<C-S-l>
将当前窗口向右移动
<M-s>
横向切割当前窗口,变为上下两个
<M-v>
纵向切割当前窗口,变为左右两个
<M-=>
将当前窗口高度增加 1 格
<M-->
将当前窗口高度减少 1 格
<M-.>
将当前窗口宽度增加 1 格
<M-,>
将当前窗口宽度减少 1 格
<!-- 功能窗 -->
<!-- -->
<!-- -
<F12>
打开大纲 -->
<!-- - <F10>
打开 Git 面板 -->
<!-- - <F9>
打开实时语法检查清单 -->
<!-- - <F8>
打开内置终端 -->
<!-- - <F7>
打开项目文件树 -->
<!-- - <F6>
打开编译器错误列表 -->
<!-- - <F5>
运行当前目录下的 ./run.sh
-->
<!-- - <S-F5>
中断当前在终端中执行的程序(发送 Ctrl+C) -->CMake 项目
cmc
或:CMakeGenerate
配置当前项目
cmb
或:CMakeBuild
构建当前项目
cmr
或:CMakeRun
运行当前项目
cms
或:CMakeStopRunner
杀死当前终端中的正在运行的程序
:CMakeSelectBuildDir
选择构建目录
:CMakeSelectBuildType
选择构建类型(Release
或Debug
)
:CMakeSelectLaunchTarget
选择以后:CMakeRun
要运行的目标
内置终端
<F8>
或<C-t>
打开/关闭终端
<Esc>
从终端模式(TERMINAL)中回到普通模式(NORMAL)
p
粘贴剪贴板中的命令
i
或a
从普通模式回到终端模式
1<F8>
或1<C-t>
打开 1 号终端
2<F8>
或2<C-t>
打开 2 号终端
- 以此类推
<C-S-t>
将当前行的文本或选中的部分作为命令执行
文件树
y
拷贝
x
剪切
d
删除
p
粘贴
a
创建