跳转至

LazyVim 入门教程

在经历风风雨雨后, 最终决定采用 lazy.nvim 作为日常编辑器, 原来写的那一套老古董vim配置现在就废弃吧...

近期计划"强制不使用"VSCode, 旨在变相督促自己熟练 lazynvim 的快捷键.

本文不会提及插件的安装与启用, 事实上这一部分相当重要, 本文暂略的原因是这一部分笔者自己也不很熟练, 大多是对着别人的blog自己摸索的

后面会花时间单独整理一遍.

安装入门

参照官网

主题更新

新建主题颜色配置文件:

Bash
1
2
cd ~/.config/nvim/lua/plugins/
vim colorscheme.lua

选用一个你喜欢的配置 (参考这里):

笔者选用的是everforest-nvim, 在上述 colorscheme.lua 写入:

Lua
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
return {
  -- 第1步: 添加配置everforest插件
  {
    "neanias/everforest-nvim",
    name = "everforest", -- 给它一个名字,方便 LazyVim 识别
    lazy = false,
    priority = 1000, -- 确保主题优先加载
    config = function()
      -- 这里是插件自己的 setup
      require("everforest").setup({
        -- 可以在这里添加 everforest 的特定配置
        -- 比如: background = "hard"
      })
    end,
  },

  -- 第2步: 告诉 LazyVim 核心, 使用everforest作为默认主题
  {
    "LazyVim/LazyVim",
    opts = {
      colorscheme = "everforest",
    },
  },
}

退出重进就会自动更新了!

熟悉功能与快捷键

<leader> 即: Space空格键

退出一个界面/弹窗通常无外乎两种, 一个是q, 一个是Esc. 都试试就行

(1) 最常用功能:

Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Console
<space> l   # nvim 插件下载 (主题/应用)
<space> c m # meson 外部工具
<ctrl> /    # 下侧打开CLI

# FileTree
<space> e # 左侧显示文件树
a # 新建文件
d # 删除文件
r # 重命名文件

# Windows
<space> w v # 垂直分屏
<space> w s # 水平分屏
<space> w q # 关闭当前窗口
<ctrl> h/j/k/l # 光标切换: 左/下/上/右

# Git
<space> g g # 开启lazygit

# Auto-fill
<return> # 回车. 表示接受
<方向键> # 选择哪一个
<ctrl> e # 拒绝填充

(2) 基础指法 - Vim中的常用快捷键在这里也依旧实用:

Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# SwiftMove
0 # 回到行首
$ # 去到行尾
gg # 回到文首
G # 去到文尾

# Search
/ # 搜索
n # 下一个"搜索结果"
N # 上一个"搜索结果"

(3) 程序员常用的快捷键:

先用V选中区域, 然后再进行操作

Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 注释与解注释
gc

# 复制粘贴 (系统互通)
y
p
u # 撤回一步. 相当于 ctrl+z

# 快速跳转 (基于 LSP)
gd # jump2 定义
gr # jump2 引用
K  # 显示定义/类型信息

(4) 奇技淫巧:

Copilot 使用步骤 (安装)

Bash
1
2
3
4
5
6
# 按照下面的顺序, 依次:
<space> c c  # 开启 copilot chat
i            # 输入模式
gh           # help界面
Esc          # 保存问题
Enter        # 发送给AI

TODO-Jump (安装)

它会关注好几个关键字: FIXME / NOTE / TODO / WARNING

Bash
1
2
3
4
5
6
# 单文件[当前打开的文件]
[t # 下一个
]t # 下一个

# 整个项目[当前文件在的git管辖范畴 or 启动nvim的目录]
<space> st