按键 | 描述 | 模式 |
---|---|---|
<leader> | whichkey (键位提示弹窗) | normal |
<leader>e | nvimtree (键位提示弹窗) | normal |
<leader>f <leader>s | telescope (查找文件,搜索文本等) | normal |
<leader>r | code_runner (运行程序) | normal |
<leader>; | alpha (dashboard) | normal |
<C-\> <M-1/2/3> | toggleterm (终端) | normal |
按键 | 描述 | 模式 |
---|---|---|
K | 悬停信息 | normal |
gd <C-]> | 跳转到定义 | normal |
<C-o> | 返回定义 | normal |
gD | 跳转到声明 | normal |
gr | 跳转到引用 | normal |
gI | 跳转到实现 | normal |
gs | 显示签名帮助 | normal |
gl | 显示当前行诊断信息 | normal |
按键 | 描述 | 模式 |
---|---|---|
<leader>/ | 注释 | normal, visual |
gcc | 行注释 | normal |
gbc | 块注释 | normal |
gc | 行注释 | visual |
gb | 块注释 | visual |
<M-k> | 向上移动行 | normal, visual |
<M-j> | 向下移动行 | normal, visual |
按键 | 描述 | 模式 |
---|---|---|
<C-space> | 显示补全窗口 | insert |
<CR> <C-y> | 确认 | insert |
<C-e> | 中断 | insert |
<C-k> <Up> <Tab> | 上一项 | insert |
<C-j> <Down> <S-Tab> | 下一项 | insert |
<C-d> | 向上滚动文本 | insert |
<C-f> | 向下滚动文本 | insert |
<CR> <Tab> | 跳转到代码模版的下一个位置 | insert |
<S-Tab> | 跳转到代码模版的上一个位置 | insert |
按键 | 描述 | 模式 |
---|---|---|
<Tab> | 光标移到下一个窗口 | normal |
<S-Tab> | 光标移到上一个窗口 | normal |
<C-h> | 光标移到左窗口 | normal |
<C-j> | 光标移到下窗口 | normal |
<C-k> | 光标移到上窗口 | normal |
<C-l> | 光标移到右窗口 | normal |
<C-Up> | 减小窗口高度 | normal |
<C-Down> | 增加窗口高度 | normal |
按键 | 描述 | 模式 |
---|---|---|
<M-Q> | 关闭buffer | normal,insert |
<C-Left> | 前一个buffer | normal,insert |
<C-Right> | 后一个buffer | normal,insert |
按键 | 描述 | 模式 |
---|---|---|
<C-n> | 前一个诊断信息 | normal |
<C-p> | 后一个诊断信息 | normal |
<C-f> | 在浮动窗口中打开诊断信息 | normal |
<C-q> | 在quickfix中打开诊断信息 | normal |
按键 | 描述 | 模式 |
---|---|---|
<CR> | 折叠切换 | normal |
zr | 打开所有折叠 | normal |
zm | 折叠所有 | normal |
按键 | 描述 | 模式 |
---|---|---|
<leader>sr | 搜索最近打开的文件 | normal |
<leader>sw | 在工作区搜索光标下的字符 | normal |
<leader>sw | 在工作区搜索选中的字符 | visual |
<leader>s/ | 在当前buffer模糊搜索 | normal |
<leader>Rf | 在当前文件下搜索并替换 | normal |
<leader>RF | 在工作区搜索并替换 | normal |
<leader>Rw | 在当前文件下搜索并替换光标下的单词 | normal |
<leader>RW | 在工作区搜索并替换光标下的单词 | normal |
<leader>Rw | 在当前文件下搜索并替换选中的字符 | visual |
<leader>RW | 在工作区搜索并替换选中的字符 | visual |
<leader>h | 清除搜索结果高亮 | normal |
<leader>sh | 搜索帮助文件 | normal |
<M-q> | 退出所有 | normal,insert |
<M-w> | 保存文件 | normal,insert |
<M-W> | 保存文件并退出所有 | normal,insert |
:TSIstall python
:LspInstall pyright
如果要切换lsp,需要执行:LvimCacheReset
c 和 c++ 语言需要借助外部工具来帮助 lsp 找到头文件和理解代码。对于 clangd 来说,可以用生成 compile_commands.json 方法来解决,这里又分为两种情况:
1.基于 CMake 项目
一是直接在命令行参数中指定,比如:
cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=1 .
# or
# cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=1
二是在 CMakeLists.txt 中添加:
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
2.基于 Makefile 项目
此时要生成 compile_commands.json 需要用到一个叫 Bear 的工具,用法:bear -- make -j14
参考:Neovim C Cpp Lsp Integration Tips,在vscode下写自己的头文件clangd会报错找不到头文件该怎么解决?
:Mason
, python需要用mason安装ruff、black
- chatgpt.nvim - https://www.youtube.com/watch?v=7k0KZsheLP4&list=PL05iK6gnYad1sb4iQyqsim_Jc_peZdNXf&index=5
- gp.nvim
- copilot.vim
- copilot-cmp && copilot.lua
- sg.nvim
- codium
- The perfect Neovim setup for C++:https://www.youtube.com/watch?v=lsFoZIg-oDs&list=PL05iK6gnYad1sb4iQyqsim_Jc_peZdNXf&index=6
- The perfect Neovim setup for Go:https://www.youtube.com/watch?v=i04sSQjd-qo&list=PL05iK6gnYad1sb4iQyqsim_Jc_peZdNXf&index=3