什么是 NeoVim?
[[NeoVim]] 是 Vim 编辑器的一个重构和扩展版本,旨在修复长期存在的问题,提供更好的插件接口,并简化了脚本配置。对于开发者来说,NeoVim 是一个强大的文本编辑器,支持多种编程语言,并且具有高度的可定制性。
安装 NeoVim
1. 使用包管理器安装
对于大多数操作系统,可以使用包管理器来安装 NeoVim。以下是一些常见的操作系统的安装方法:
- Ubuntu / Debian
sudo apt update
sudo apt install neovim
- Fedora
sudo dnf install neovim
- Arch Linux
sudo pacman -S neovim
- macOS(使用 Homebrew)
brew install neovim
2. 手动安装
如果你希望手动安装 NeoVim,可以从官方 GitHub 仓库 下载源代码,并按照以下步骤编译安装:
git clone https://github.com/neovim/neovim.git
cd neovim
make CMAKE_BUILD_TYPE=Release
sudo make install
配置 NeoVim
NeoVim 的配置文件是 init.vim
,默认位于 ~/.config/nvim/
目录下。你可以使用以下命令创建并打开配置文件:
mkdir -p ~/.config/nvim
nvim ~/.config/nvim/init.vim
1. 基本配置
在 init.vim
中添加一些基本配置来优化你的编辑体验:
" 启用行号
set number
" 启用语法高亮
syntax on
" 设置缩进
set tabstop=4
set shiftwidth=4
set expandtab
" 启用鼠标
set mouse=a
" 启用剪贴板
set clipboard=unnamedplus
" 搜索时忽略大小写
set ignorecase
set smartcase
2. 安装插件管理器
推荐使用 vim-plug 作为插件管理器。首先,下载并安装 vim-plug:
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
在 init.vim
文件的顶部添加以下内容,以便使用 vim-plug:
call plug#begin('~/.local/share/nvim/plugged')
" 在这里添加插件
call plug#end()
常用插件推荐
1. 文件树插件:NERDTree
NERDTree 是一个流行的文件浏览插件,方便你在项目中快速导航。
Plug 'preservim/nerdtree'
" NERDTree 配置
nmap <C-n> :NERDTreeToggle<CR>
2. 自动补全插件:coc.nvim
coc.nvim 是一个强大的自动补全插件,支持多种编程语言的智能提示。
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" coc.nvim 配置
" 在 'init.vim' 中添加以下内容来启用 coc.nvim
autocmd BufEnter * silent! call CocActionAsync('highlight')
inoremap <silent><expr> <TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
inoremap <silent><expr> <S-TAB> pumvisible() ? "\<C-p>" : "\<S-TAB>"
3. 语法高亮插件:nvim-treesitter
nvim-treesitter 提供更强大和精准的语法高亮支持。
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
" nvim-treesitter 配置
lua <<EOF
require'nvim-treesitter.configs'.setup {
highlight = {
enable = true,
},
}
EOF
4. 模糊搜索插件:fzf.vim
fzf.vim 是一个基于命令行的模糊搜索插件,可以快速查找文件。
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
" fzf 配置
nmap <C-p> :Files<CR>
插件
- https://github.com/folke/flash.nvim 快速跳转