Neovim 简介

Neovim是一个文本编辑器,是Vim(Vi Improved)的一个分支。它在Vim的基础上进行了扩展和改进,旨在提供更强大、更灵活的编辑体验。以下是Neovim的一些主要特点和优势:

Neovim简介

  1. 现代化架构

Neovim的架构更加现代化,它采用了异步插件架构,允许插件以非阻塞的方式运行,提高了编辑器的性能和响应速度。

  1. 插件支持

Neovim支持大量的插件,这些插件可以通过包管理器(如vim-plug、dein.vim等)方便地安装和管理。这使得用户可以根据自己的需求定制编辑器,添加各种功能和工具。

  1. 内置终端模式

Neovim内置了终端模式,可以直接在编辑器中运行和交互命令行。这样用户可以在编辑器内完成大部分任务,无需切换到终端。

  1. Lua编程接口

Neovim使用Lua作为其插件和配置脚本的主要编程语言。这使得用户可以使用Lua来定制和扩展Neovim,提供更灵活的配置选项。

  1. 远程插件

Neovim支持远程插件,允许将编辑器的功能扩展到远程服务器上。这对于开发和远程协作非常有用。

  1. 易于扩展

Neovim的设计使得它非常容易扩展和定制。用户可以通过配置文件或插件自定义编辑器的外观和行为,使其适应个人喜好。

  1. 持续的开发

Neovim是一个活跃的开源项目,不断有新的功能和改进被引入。用户可以从社区的贡献中受益,保持编辑器的现代性和前沿性。

Neovim 安装

安装Neovim

sudo apt install nodejs python3

在ubutnu上安装最稳定版本的Neovim:

sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt update
sudo apt install neovim

在ubutnu上安装unstable但是最新版本的Neovim:

sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update
sudo apt install neovim

Neovim 简单配置

我写的配置

"==================================== vim 最小配置 ===================================
"=== 版本: bate 1.0
"=== 描述: Rainboy写给学生参加NOIP使用的VIM配置文件
"=== 特点:  - 极小
"           - 不使用插件
"           - 最简原则
"安装 curl -o ~/.vimrc https://gitee.com/Rainboy/sample-vim-config/raw/master/vimrc
"=====================================================================================


"====================================== 外观设定 =====================================
syntax enable
syntax on                       " 开启代码高亮
set background=dark             " set bg=dark 
colorscheme murphy              " 设定主题
set cmdheight=2                 " 设定cmd的高度
set number                      " 开启行号
set relativenumber              " 开启相对行号

set tabstop=4                   " 设置 tab的宽度
set expandtab                   " 空格代替tab
set autoindent                  " 自动缩进
set smartindent                 " 智能缩进,能识别{ }
set cindent                     " 开启C语言缩进模式
set shiftwidth=4                " 设置格式化时制表符所占用的空格
set softtabstop=4               " 让vim把连续数量的制表看成空格
set copyindent                  " 复制的时候 缩进

set cursorline                  " 高亮当前行
"set cursorcolumn                " 高亮当前列
set ruler                       " 显示光标当前的位置,逗号分隔
set list                        " 显示特殊字符
set listchars=tab:\~\ ,trail:.  " 设定tab用~表示,行尾空白用.

set laststatus=2                " 启动显示状态行(1),总是显示状态行(2) 

"====================================== 行为设定 =====================================
filetype on                     "开启文件类型侦测
set history=1000                "记录的最大cmd历史
set nocompatible                "关闭vi兼容
set backspace=indent,eol,start  "使用 退格键 来删除
set whichwrap=<,>,[,],h,l       " 光标在行尾,行首移动 

set autowrite                   " 文件一有写入,自动保存
set autoread                    " 文件改变时,自动载入
set nobackup                    " 不使用备份文件
set noswapfile                  " 不使用交换文件
set showcmd                     " 显示输入的命令
"set showmatch                   " 在输入括号时光标会短暂地跳到与之相匹配的括号处,不影响输入

set nohls                       " 不高亮搜索
set incsearch                   " 实时搜索
set novisualbell                " 不使用 visualbell
set vb t_vb=

set fileencodings=utf-8         " 设定文件的编码
set fileformat=unix             " 设定文件的格式

"快捷键
imap <c-l> <esc>A
imap <c-h> <esc>I
"括号自动补全
inoremap ( ()<esc>i
inoremap { {}<esc>i
inoremap [ []<esc>i
inoremap " ""<esc>i
inoremap ' ''<esc>i

安装方式

如果你使用的是vim

mv ~/.vimrc ~/.vimrc_bak
curl -o ~/.vimrc https://rbook.roj.ac.cn/appendix/SoftWare/neovim/vimrc.txt
mv  ~/.config/nvim ~/.config/nvim_bak
mkdir -p ~/.config/nvim
curl -o ~/.config/init.vim https://rbook.roj.ac.cn/appendix/SoftWare/neovim/vimrc.txt

也可以使用这个项目的配置

https://github.com/YanivZalach/Vim_Config_NO_PLUGINS

mv  ~/.config/nvim ~/.config/nvim_bak
mkdir -p ~/.config/nvim
curl -o ~/.config/init.vim https://mirror.ghproxy.com/https://github.com/YanivZalach/Vim_Config_NO_PLUGINS/blob/main/.vimrc

高级配置

最简单的配置方式就是使用lazyvim

先安装相关依赖

然后按照官网的安装方式来安装就可以了