LazyVim常用快捷键

本文介绍LazyVim中常用的快捷键。本文写于2024/4/21,早于本博客建立。

58261788

正文

零、前言

本文仅介绍LazyVim中常用的快捷键,按照官网安装LazyVim后,有50多个插件会被同时安装,因此有部分快捷键和Vim/Vi不同。

参考文章:

  1. 超全的Vim常用快捷键,建议收藏_vim常用快捷键回退前进-CSDN博客
  2. bryant-video/neovim-tutorial (github.com)
  3. ⌨️ Keymaps | LazyVim

如果想要直接在neovim里面查找快捷键和help,可以输入以下快捷键:

Mode Shortcut Description
n <leader>sk 打开所有shortcut的菜单
n <leader>sh 打开所有help的菜单

一、移动光标和翻页(Navigation)

这一部分的符号也被称为导航符(Navigation)可以和后面指令相结合使用。

Mode Shortcut Description
n, v h, j, k, l 左,下,上,右
n, v <Ctrl>+y 光标不动,上移一行
n, v <Ctrl>+e 光标不动,下移一行
n, v <Ctrl>+u 上翻半页(up)
n, v <Ctrl>+d 下翻半页(down)
n, v <Ctrl>+f 上翻一页(forward)
n, v <Ctrl>+b 下翻一页(backwards)
n, v w(小写) 跳到下一个词首,按标点和单词分割
n, v W(大写) 跳到下一个词首,按空格分割
n, v e 跳到下一个词尾,按标点和单词分割
n, v E 跳到下一个词尾,按空格分割
n, v b 跳到上一个词首,按标点和单词分割
n, v B 跳到上一个词首,按空格分割
n, v 0(数字零) 跳到行首第0个字符
n, v ^ 跳到行首的非空字符
n, v $ 跳到行尾
n, v { 跳到上一个段落,按空行分隔
n, v } 跳到下一个段落,按空行分隔
n, v gg 跳到文首
n, v G 跳到文尾
n, v [5]gg / [5]G 跳到第5行,数字+gg可以跳到对应的行
n, v gd 跳到当前光标所在的变量声明处
n, v f[x] 在当前行中找到x字符,找到了就跳转;安装flash插件后可以向下搜索单词,并且可以按搜索时出现最后的字母快捷跳转(find)
n, v s[word] 安装flash插件后可以在当前页搜索单词,并且可以按搜索时出现最后的字母快捷跳转(search)
n, v ; 重复上一个f命令而不用输入fx
n, v * 查找当前光标所在的单词,向下查找
n, v # 查找当前光标所在的单词,向上查找

二、剪切、复制、粘贴

vim中的删除会把被删除的内容置入剪切板,使用Visual Mode选择目标后粘贴会把覆盖的内容加入剪切板,因此复制粘贴变得不是很方便。

Mode Shortcut Description
n dd 删除光标所在行
n dw 删除单词,从光标位置到词尾
n diw 删除当前光标位置所在单词
n d$ 删除到行末
n d+[Navigation] 删除到navigation的位置
n x(小写) 删除当前字符
n X(大写) 删除前一个字符
n yy 复制所在行
n yw 复制单词,从光标位置到词尾
n yiw 复制当前光标位置所在单词
n y$ 复制到行末
n y+[Navigation] 复制到navigation的位置
n p(小写) 粘贴粘贴板的内容到当前行的下面
n P(大写) 粘贴粘贴板的内容到当前行的上面
n, i, v <Ctrl>+c 复制选中的内容(LazyVim中默认设置好了,在普通的neovim中需要自己设置)
n, i, v <Ctrl>+v 粘贴内容到选中位置并替换(LazyVim中默认设置好了,在普通的neovim中需要自己设置)

三、Insert Mode

Insert Mode,可以称作输入模式,插入模式或键入模式。

这个部分收录的是不影响文本进入Insert Mode的快捷键

Mode Shortcut Description
n i 从当前光标处进入Insert Mode
n I 从当前光标所在行的行首进入Insert Mode
n a 从当前光标之后进入Insert Mode
n A 从当前光标所在行的行末进入Insert Mode
n o 在当前行之下新加一行,并进入Insert Mode
n O 在当前行之上新加一行,并进入Insert Mode
n <ESC>jk 退出Insert Mode,jk是需要在keymaps.lua里设置的,需要去把 Insert Mode的<ESC 映射到jk

四、编辑相关

这个部分收录了在Normal Mode下,能对文本内容进行编辑的快捷键和一些实用的命令。

Mode Shortcut Description
n J 将下一行和当前行连接为一行
n cc 删除当前行并进入Insert Mode
n cw 删除当前光标到词尾并进入Insert Mode
n ciw 删除当前光标所在的词并进入Insert Mode
n c$ 删除当前光标到行末并进入Insert Mode
n c+[Navigation] 删除到navigation的位置的内容并进入Insert Mode
n u 撤销
n <Ctrl>+r 重做
n ~ 切换大小写
n >> 向右缩进一个单位
n << 向左缩进一个单位
n gcc 注释光标所在的行
n <leader>ch 取消高亮,一般适用于在搜索的时候。个人偏好,需要去keymaps.lua里设置(clear highlight)

编辑中常用的指令:

Mode Shortcut Description
c :set wrap 开启自动折行
c :set nowrap 关闭自动折行
c :set nu 显示行号
c :set nohl 取消高亮,一般适用于在搜索的时候

五、查找替换

Mode Shortcut Description
n /pattern 向后搜索字符串pattern(在LazyVim里是全局搜索)
n ?pattern 向前搜索字符串pattern(在LazyVim里是全局搜索)
n n 下一个匹配
n N 上一个匹配
c :%s/old/new/g 搜索整个文件,将所有的old替换为new,old和new是可更改的参数
c :%s/old/new/gc 搜索整个文件,将所有的old替换为new,old和new是可更改的参数,每次都要你确认是否替换
n <leader>cr 在整个文件中重命名光标所在的变量及其引用

六、保存和退出编辑器

Mode Shortcut Description
c :w 保存修改(write)
c :wa 保存全部修改(write all)
c :wq, :x 保存修改并退出(write and quit)
c :wqa 保存全部修改并退出全部window(write and quit all)
c :q 退出,如果没保存则不能退(quit)
c :q! 强制退出,放弃修改
c :qa! 强制退出全部window,放弃修改

七、tab、window、buffer操作(三种窗口)

LazyVim里面有tab,window,buffer三个容器。window比buffer大,一个window可能包含多个buffer,而tab则比window大。

注:leader键LazyVim默认设置为空格键。

Mode Shortcut Description
n <leader>bd 关闭当前buffer
n <leader>bD 强制关闭当前buffer
n <leader>sv 在右方创建新window,个人偏好,需要自己去keymaps.lua里设置
n <leader>sx 关闭当前window,个人偏好,需要自己去keymaps.lua里设置
n <leader>- 在下方创建新window(LazyVim
n ``` ``` 在右方创建新window(LazyVim
n H 跳转到左侧的buffer(或者说前一个buffer)
n L 跳转到右侧的buffer(或者说后一个buffer)
n <Ctrl>+h 跳转到左侧的window
n <Ctrl>+l 跳转到右侧的window
n <Ctrl>+j 跳转到下方的window
n <Ctrl>+k 跳转到上方的window
n <leader>+e 打开文件管理window(该功能由nvim-tree等相关插件提供)
c :close 关闭当前window
c :tabedit file 在新标签中打开文件file
c :tab split file 在新标签中打开文件file
c :tabp 切换到上一个tab
c :tabn 切换到下一个tab
c :tabc 关闭当前tab
c :tabo 关闭其他tab
n gt 切换到上一个tab
n gT 切换到下一个tab
n 0gt 切换到第一个tab
n [5]gt 切换到第5个tab,输入数字切换
n <Ctrl>+/ 打开和隐藏终端(Root Dir)

<leader>e进入文件管理window,在文件管理window下的快捷键:

Mode Shortcut Description
n a 创建新文件
n d 删除文件
n r 重命名文件
n <Enter> 打开文件,以buffer的形式

八、Visual Mode

Visual Mode称之为视觉模式或选择模式都可。其Navigation在一中有介绍。在这一节之前,所有小写v同时表示字符视觉模式和行视觉模式。

Mode Shortcut Description
n, V v(小写) 进入字符视觉模式
n, v V(大写) 进入行视觉模式(一行一行选中)
n viw(小写) 选中光标所在的词
v/V >, < 向右缩进,向左缩进
v/V iw 选中光标所在的词
v/V d 剪切选中的内容
v/V y 复制选中的内容
v/V p 粘贴剪切板的内容到选中的区域,并把原本选中的内容置入剪切板
v/V <ESC>, v/V 退出视觉模式