vim
Neovim 安装
Linux
对于 Ubuntu,安装更新版本的 Neovim
添加源
1
sudo add-apt-repository ppa:neovim-ppa/unstable
更新源
1
sudo apt-get update
安装 Neovim
1
sudo apt-get install neovim
安装后输入 nvim
即可进入
如果依旧想要输入 vim
进入,可使用链接替换
1 | alias vim='nvim' |
Mac
对于 mac,
1 | brew install neovim |
在 ~/.bash_profile
中添加
1 | alias vim='nvim' |
1 | source ~/.bash_profile |
Vim 模式
普通模式
打开 Vim 直接进入的就是普通模式,主要用于浏览文件、执行复制粘贴删除等的操作
输入模式
普通模式下输入 i
进入输入模式,输入 Esc
退出输入模式回到普通模式
命令模式
普通模式下输入 :
进入命令模式
可视模式
普通模式下输入 v
进入可视模式,用于选中
普通模式
光标移动
可以使用方向键进行移动,但更多地使用 hjkl
移动光标
快捷键 | 指令 |
---|---|
h |
左移 |
j |
下移 |
k |
上移 |
l |
右移 |
4h |
左移4格 |
w (word) |
跳转到下一个单词的开头 |
b (beginning) |
跳转到前一个单词的开头 |
gg |
跳转到文件开头 |
G |
跳转到文件结尾 |
Ctrl +u (PgUp) |
向上翻页 |
Ctrl +d (PgDown) |
向下翻页 |
fr (find r) |
移动到下一个 r |
复制粘贴
复制键 y
(yank),粘贴键 p
(paste)
快捷键 | 指令 |
---|---|
yaw (yank all word) |
复制整个单词 |
y4j |
复制本行以及下4行(一共5行) |
yfr |
复制到 r 为止的内容(包括 r ) |
p |
粘贴 |
删除
删除键 d
(delete),操作与复制同理
改变
改变键 c
(change),操作与复制同理,删除选中内容并进入输入模式
查找
快捷键 | 指令 |
---|---|
/ |
从上往下查找 |
? |
从下往上查找 |
n |
下一个 |
N |
上一个 |
命令模式
命令
:h <plugin name> |
查看插件说明书 |
窗口
快捷键 | 指令 |
---|---|
:b<N> |
跳到第 N 个 Tab |
:b <file name> |
跳到相应文件名的 Tab |
:bn |
跳到上一个的 Tab |
:bp |
跳到下一个的 Tab |
快捷键
快捷键 | 指令 |
---|---|
<Ctrl-w> + h/j/k/l |
切换聚焦窗口 |
<Ctrl-w> + w |
切换聚焦到下一个窗口 |
LazyVim
【【教完必会】别再说配置neovim麻烦了!给我1分钟就够!— Lazyvim教程】https://www.bilibili.com/video/BV1ds4y1P7Rs?vd_source=c44e01a0c037484413d7d1b782385f3e
插件
常用操作
光标跳转
- 跳转到周围特定字母
s
进入查找状态- 输入待查找字母,标亮周围该字母,并附上标签
- 输入标签,跳转到特定位置
目录树
侧边栏的目录树由 NeoTree 插件驱动
- 显示/隐藏侧边栏
Space
->e
- 查看快捷键
?
终端
- 唤出/隐藏终端:
ctrl
+\
Buffer
- 切换下一个 Buffer:
SHIFT
+l
- 切换上一个 Buffer:
SHIFT
+h
LSP
安装
- 输入
:Mason
进入 Mason
LSP
Lazyvim 默认配置 LSP
Mason
Mason 用来做 LSP 的包管理
进入 Mason 管理窗口
有两种方法:
:Mason
leader
->c
->m
在这个窗口适用文件的各种查找操作
搜索包
可以通过 Language Filter 过滤出指定语言:CTRL
+ f
或者和文件一样,通过 /
或其他搜索
安装包
移动到相应包,按 i
卸载包
移动到相应包,按 X
操作
跳转查看
- 查看定义:
g
—>d
- 跳转到定义:
g
—>D
- 查看引用:
g
—>r
- 查看详情:
K
查找替换
- 变量重命名:
Leader
—>c
—>r
配置
新建 nvim 的配置文件夹 ~/.config/nvim
,结构如下
1 | ├── init.vim 入口文件,这里负责加载所有lua文件夹里的文件 |
nvim 在下次启动时会自动查看其中的内容进行更新,当然也可以在编辑后直接使用 :so
命令当重新载入。
以 ~/.config/nvim/init.lua
作为入口,lua 文件夹放置不同的模块
插件
使用插件管理器 lazy.vim 进行插件管理
安装 lazyvim
新建
lua/lazynvim-init.lua
1
2
3
4
5
6
7
8
9
10
11
12
13local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({})在
init.lua
中1
require("lazynvim-init")
如此后,便可输入
:Lazy
打开
安装插件
以安装 nvim-tree 为例
在
lua
文件夹下新建plugins
目录在
lazynvim-init.lua
中的setup
中将plugins
目录添加为参数1
require("lazy").setup("plugins")
在
lua/plugins
下添加文件plugin-nvim-tree.lua
1
2
3
4
5
6
7
8
9
10return {
{
"nvim-tree/nvim-tree.lua",
version = "*",
dependencies = {"nvim-tree/nvim-web-devicons"},
config = function()
require("nvim-tree").setup {}
end
}
}"nvim-tree/nvim-tree.lua"
:插件在 github 上的短 urlversion
:下载的版本,*
表示自动更新最新版本dependencies = {"nvim-tree/nvim-web-devicons"}
:依赖插件config = ... ...
:当插件启动加载以后,则会执行该 config 的代码
重新打开 vim 即可自动加载插件
常用插件
主题插件 TokyoNight
1 | return { |
文件树插件 nvim-tree
下载 nerd fornt 字体
Linux
1
wget -c https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/DejaVuSansMono.zip
1
sudo unzip DejaVuSansMono.zip -d /usr/share/fonts/DejaVuSansMono
1
2
3
4cd /usr/share/fonts/SourceCodePro
sudo mkfontscale # 生成核心字体信息
sudo mkfontdir # 生成字体文件夹
sudo fc-cache -fv # 刷新系统字体缓存Mac
https://joit.info/essay/a5f51f2cbbb240d7a992d481fc09f7e0
下载字体后在配置里配置 Terminal 字体
1
2brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font
1 | return { |
相关命令:
快捷键 | 指令 |
---|---|
g? |
查看帮助 |
<C-k> |
查看信息 |
r |
重命名 |
o |
开文件 |
a |
创建新文件 |
d |
删除文件 |
c |
复制文件 |
p |
粘贴文件 |
x |
剪切文件 |
J |
跳到顶部的文件/文件夹 |
K |
跳到底部的文件/文件夹 |
< / > |
跳到上一个/下一个兄弟文件/文件夹 |
y |
复制文件名 |
Y |
复制相对地址 |
gy |
复制绝对地址 |
状态栏插件 lualine.nvim
1 | return { |
页插件 bufferline.nvim
1 | return { |