LazyVim

1- LazyVim

https://lazyvim-github-io.vercel.app/zh-Hans/

1.1- 🚀 入门指南

LazyVim 是由 💤 lazy.nvim 驱动的 Neovim 配置,可以容易地自定义并扩展您的配置。

image

1.2- ✨ 特性​

  • 🔥 将你的 Neovim 变成一个完整的 IDE
  • 💤 使用 lazy.nvim 轻松自定义并扩展你的配置
  • 🚀 速度很快
  • 🧹 对 options、autocmds 和 keymaps 进行合理地默认设置
  • 📦 预先配置了大量的插件,可随时使用。

1.3- ⚡️ 使用要求​

  • Neovim >= 0.8.0 (需要使用 LuaJIT构建)
  • Git >= 2.19.0 (用于支持 clone 部分)
  • Nerd Font (可选)
  • lazygit (可选)
  • 针对 telescope.nvim (可选)
  • live grep: ripgrep
  • 文件查找: fd
  • 一个支持 真色 和 undercurl 的终端模拟器:
  • kitty (Linux & Macos)
  • wezterm (Linux, Macos & Windows)
  • alacritty (Linux, Macos & Windows)
  • iterm2 (Macos)

使用 PowerShell 安装 LazyVim Starter

  • 备份您当前的 Neovim 文件:
# 需要Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak# 可选,但建议Move-Item $env:LOCALAPPDATA\nvim-data $env:LOCALAPPDATA\nvim-data.bak
  • 克隆启动器
git clone https://github.com/LazyVim/starter $env:LOCALAPPDATA\nvim
  • 删除 .git 文件夹,你可以稍后将其添加到你自己的仓库
Remove-Item $env:LOCALAPPDATA\nvim\.git -Recurse -Force
  • 启动 Neovim!
nvim

参考文件中对于如何自定义 LazyVim 的注释。

1.4- ⌨️ 按键映射

LazyVim 使用 which-key.nvim 来帮助您记住您的按键映射。 只需按下类似 <space> 等任何按键,您就会看到一个弹出的包含所有可能以 <space> 开头的按键映射。

image

1.5- 通用​

按键 描述 模式
<C-h> 转到左边窗口 n
<C-j> 转到下边窗口 n
<C-k> 转到上边窗口 n
<C-l> 转到右边窗口 n
<C-Up> 增大窗口高度 n
<C-Down> 减小窗口高度 n
<C-Left> 减小窗口宽度 n
<C-Right> 增大窗口宽度 n
<A-j> 向下移动 n, i, v
<A-k> 向上移动 n, i, v
<S-h> 上一个缓冲区 n
<S-l> 下一个缓冲区 n
[b 上一个缓冲区 n
]b 下一个缓冲区 n
<leader>bb 切换到其他缓存区 n
<leader>` 切换到其他缓存区 n
<esc> Escape and clear hlsearch i, n
<leader>ur Redraw / clear hlsearch / diff update n
gw 搜索光标锁在的单词 n, x
n 下一个搜索结果 n, x, o
N 上一个搜索结果 n, x, o
<C-s> 保存文件 i, v, n, s
<leader>l 打开 lazy 插件面板 n
<leader>fn 新建文件 n
<leader>xl Location List n
<leader>xq Quickfix List n
<leader>uf Toggle format on Save n
<leader>us Toggle Spelling n
<leader>uw Toggle Word Wrap n
<leader>ul Toggle Line Numbers n
<leader>ud Toggle Diagnostics n
<leader>uc Toggle Conceal n
<leader>gg Lazygit (root dir) n
<leader>gG Lazygit (cwd) n
<leader>qq Quit all n
<leader>ui Inspect Pos n
<leader>ft Terminal (root dir) n
<leader>fT Terminal (cwd) n
<esc><esc> Enter Normal Mode t
<leader>ww 其它窗口 n
<leader>wd 删除窗口 n
<leader>w- 在下方分割窗口 n
<leader>w| 在右侧分割窗口 n
<leader>- 在右侧分割窗口 n
<leader>| 在下方分割窗口 n
<leader><tab>l 最后一个标签 n
<leader><tab>f 第一个标签页 n
<leader><tab><tab> 新建标签页 n
<leader><tab>] 下一个标签页 n
<leader><tab>d 关闭标签页 n
<leader><tab>[ 上一个标签页 n

1.6- LSP​

Key Description Mode
<leader>cd Line Diagnostics n
<leader>cl LSP 信息 n
gd 转到定义 n
gr References n
gD 转到声明 n
gI 转到实现 n
gt 转到类型定义 n
K 悬停 n
gK Signature Help n
<c-k> Signature Help i
]d Next Diagnostic n
[d Prev Diagnostic n
]e 下一个错误 n
[e 上一个错误 n
]w 下一个警告 n
[w 上一个警告 n
<leader>ca Code Action n, v
<leader>cf Format Document n
<leader>cf Format Range v
<leader>cr 重命名 n

1.7- bufferline.nvim

Key Description Mode
<leader>bp Toggle pin n
<leader>bP Delete non-pinned buffers n

1.8- flit.nvim

Key Description Mode
f f n, x, o
F F n, x, o
t t n, x, o
T T n, x, o

1.9- leap.nvim

Key Description Mode
s Leap forward to n, x, o
S Leap backward to n, x, o
gs Leap from windows n, x, o

1.10- mason.nvim

Key Description Mode
<leader>cm 打开 Mason n

1.11- mini.bufremove

Key Description Mode
<leader>bd 删除缓冲区 n
<leader>bD 删除缓冲区 (强制) n

1.12- mini.surround

Key Description Mode
gza Add surrounding n, v
gzd Delete surrounding n
gzf Find right surrounding n
gzF Find left surrounding n
gzh Highlight surrounding n
gzr Replace surrounding n
gzn Update MiniSurround.config.n_lines n

1.13- neo-tree.nvim

Key Description Mode
<leader>fe Explorer NeoTree (root dir) n
<leader>fE Explorer NeoTree (cwd) n
<leader>e Explorer NeoTree (root dir) n
<leader>E Explorer NeoTree (cwd) n

1.14- noice.nvim

Key Description Mode
<S-Enter> Redirect Cmdline c
<leader>snl Noice Last Message n
<leader>snh Noice History n
<leader>sna Noice All n
<c-f> 向前滚动 i, n, s
<c-b> 向后滚动 i, n, s

1.15- nvim-notify

Key Description Mode
<leader>un 删除所有通知 n

1.16- nvim-spectre

Key Description Mode
<leader>sr 在文件中替换 (Spectre) n

1.17- nvim-treesitter

Key Description Mode
<c-space> Increment selection n
<bs> Decrement selection x

1.18- persistence.nvim

Key Description Mode
<leader>qs 恢复 Session n
<leader>ql 恢复上次 Session n
<leader>qd 不保存当前 Session n

1.19- telescope.nvim

Key Description Mode
<leader>, 切换缓冲区 n
<leader>/ 在文件中查找 (Grep) n
<leader>: 命令历史记录 n
<leader><space> 查找文件 (root 目录) n
<leader>fb Buffers n
<leader>ff 查找文件 (root 目录) n
<leader>fF 查找文件 (cwd 目录) n
<leader>fr Recent n
<leader>gc commits n
<leader>gs status n
<leader>sa Auto Commands n
<leader>sb 在当前缓冲区中搜索 n
<leader>sc 命令历史 n
<leader>sC 所有命令列表 n
<leader>sd Diagnostics n
<leader>sg Grep (root dir) n
<leader>sG Grep (cwd) n
<leader>sh 全局帮助页 n
<leader>sH Search Highlight Groups n
<leader>sk 按键映射 n
<leader>sM Man Pages n
<leader>sm Jump to Mark n
<leader>so Options n
<leader>sR Resume n
<leader>sw Word (root dir) n
<leader>sW Word (cwd) n
<leader>uC 预览颜色方案 (主题) n
<leader>ss Goto Symbol n
<leader>sS Goto Symbol (Workspace) n
Key Description Mode
]t 下一个 TODO 评论 n
[t 上一个 TODO 评论 n
<leader>xt Todo (Trouble) n
<leader>xT Todo/Fix/Fixme (Trouble) n
<leader>st Todo n

1.20- trouble.nvim

Key Description Mode
<leader>xx Document Diagnostics (Trouble) n
<leader>xX Workspace Diagnostics (Trouble) n
<leader>xL Location List (Trouble) n
<leader>xQ Quickfix List (Trouble) n
[q Previous trouble/quickfix item n
]q Next trouble/quickfix item n

1.21- vim-illuminate

Key Description Mode
]] 转到下一个引用 n
[[ 转到上一个引用 n