配置
使用 LazyVim 进行配置。
1
| git clone https://github.com/LazyVim/starter ~/.config/nvim
|
安装字体(可选)
如果是通过 ssh 远程登录,需要在本地机器安装,并设置 terminal font。
1 2
| wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip unzip JetBrainsMono.zip -d ~/.local/share/fonts
|
ubuntu
1 2
| sudo apt install fontconfig fc-cache -fv
|
概念
Buffer
NeoVim 以 Buffer List 的方式管理打开的文件,每个打开的文件是一个 Buffer,并且有唯一的 id(:ls
可查看打开的文件列表及 id)。
快捷键
LazyVim
Buffer
1 2 3 4 5 6 7
| bd # 删除当前 buffer bn # 下一个 buffer bn{number} # 下面的第 {number} 个 bp # 前一个 bp{number} # 前面的第 {number} 个 b# ls # 列出所有 buffer
|
NeoTree
1 2 3 4
| ? # 打开帮助框 a # 添加文件/文件夹,添加文件夹则以 '/' 结尾,否则添加文件 H # 显式/折叠隐藏文件 . # 设置选定的目录为 root dir
|
使用
多行编辑
插件
常见问题
图标显示异常
修改 terminal font,以 iterm2 为例。字体可从 nerd fonts 下载。
无法复制到系统粘贴板
场景是,登录到远程机器,并使用 nvim 编译,无法复制选中的文本,解决方案是使用快捷键,下面是 Max OS 下的快捷键操作,Windows/Linux 下可尝试探索。
1 2
| <option + 拖动鼠标> : 选中连续文本,可跨行 <option + command + 拖动鼠标> : 选中矩形区域,可跨行
|
选中后,再按系统的复制快捷键即可(或右键弹出菜单、选择复制)。
FZF 搜索窗口无法复制寄存器内容
核心思想是针对 fzf 窗口,自定义快捷键,调用 getreg()
来获取寄存器内容,搜索到使用 getreg(nr2char(getchar()))
命令,但是不行。在 init.lua
文件中添加任意一个方案的内容,在搜索时使用快捷键 Ctrl + V
即可粘贴寄存器内容。
方案一,使用 nvim 的 lua api 命令创建。
1 2 3 4 5 6 7 8
| local autogrp = vim.api.nvim_create_augroup("FZF", { clear = true }) vim.api.nvim_create_autocmd("FileType", { pattern = "fzf", group = autogrp, callback = function() vim.api.nvim_set_keymap("t", "<C-r>", "getreg()", { noremap = true, expr = true, silent = true }) end, })
|
方案二,使用 vim.cmd
。
1 2 3
| vim.cmd([[ autocmd! FileType fzf tnoremap <expr> <C-r> getreg() ]])
|
Lazy.nvim
Mason
- mason 仅安装 LSP Server,最终还是要使用 lspconfig 插件来完成 LSP
唤出
修改 Mason 配置后,可手动唤出 Mason 面板安装。
分屏
1 2
| <space> -> <shift> + \ : 水平分屏 <space> -> - : 垂直分屏
|
切换分屏。
1 2 3 4
| <ctrl> + H/左 : 左 <ctrl> + L/右 : 右 <ctrl> + J/下 : 下 <ctrl> + K/上 : 上
|