Xshell+Neovim安装教程,本文使用的是Ubuntu 22.04.3 LTS
系统
装neovim
首先,确保你的系统已经安装了 apt 工具。如果你的系统是基于 Debian 的发行版(如 Ubuntu),可以跳过此步骤。否则,执行以下命令来安装 apt:
1 | sudo apt-get install apt |
添加 Neovim 的官方软件源。执行以下命令来添加源:
1 | sudo add-apt-repository ppa:neovim-ppa/unstable |
更新 apt 软件包列表:
1 | sudo apt-get update |
安装 Neovim。执行以下命令来安装最新版本的 Neovim:
1 | sudo apt-get install neovim |
完成上述步骤后,你应该成功安装了 Neovim。
可以通过运行 nvim --version
命令来验证安装结果。
或者去 https://github.com/neovim/neovim/releases 下载压缩包
本文用的 nvim 0.9.1
。
nvim配置文件
lua语法
1 | # 进入家目录 |
个人neovim配置
options.lua
1 | local opt = vim.opt |
在入口lua文件中引用一下,个人配置,否则不生效
init.lua
1 | require("user.options") |
vim脚本语法
1 | # 进入家目录 |
个人neovim配置
options.vim
1 | syntax on " 语法高亮 |
nvim插件
1 | cd |
安装 packer.nvim
packer.nvim 是一个用于管理 Neovim 插件的包管理器。它可以帮助用户轻松地安装、更新和删除他们的插件。
packer.nvim 也支持异步操作,可以提高插件管理的效率,并且使用 Lua 编写,与 Neovim 的配置语言相容。
通过 packer.nvim,用户可以更加方便地组织和管理他们的 Neovim 插件,提高编辑器的定制化程度。
输入以下内容:(Github地址)
1 | local ensure_packer = function() |
init.lua
中添加引用
1 | require("plugins.plugins") |
每次修改了 plugins.lua 之后
我习惯 vim 命令行模式下输入
source %
然后使用 PackerInstall
或者 PackerSync
source %
是为了让当前配置生效PackerInstall
是安装未安装的包或者插件PackerSync
会去比对安装目录,执行安装,删除或者更新 vim 插件
安装主题
plugins/plugins.lua
1 | return require('packer').startup(function(use) |
user/options.lua
1 | vim.cmd[[colorscheme tokyonight-night]] |
使用Xshell的话,需要将 工具-选项-高级-使用本色
勾上
然后重启Xshell。
安装状态栏
https://github.com/nvim-lualine/lualine.nvim
plugins/plugins.lua
1 | use { |
:w
保存
新建 plugins/lualine.lua
1 | require('lualine').setup( |
修改入口文件init.lua
添加
1 | require("plugins.lualine") |
安装文件树
https://github.com/nvim-tree/nvim-tree.lua
plugins/plugins.lua
1 | use { |
:w
保存
新建 plugins/nvim-tree.lua
1 | -- disable netrw at the very start of your init.lua |
改键,用来呼出文件树
新建 user/keymaps.lua
1 | local keymap = vim.keymap |
修改入口文件init.lua
添加
1 | require("plugins.nvim-tree") |
使用F9即可呼出文档树,按Tab键即可进入到对应文件。
按 ctrl + w
然后点击左右方向键
即可在文件和文档树之间切换,这样比较麻烦,所以下个插件就是解决这个的。
tmux窗格和vim拆分之间的无缝导航
https://github.com/christoomey/vim-tmux-navigator
plugins/plugins.lua
1 | use 'christoomey/vim-tmux-navigator' |
:w
保存
安装完成以后,使用 ctrl + h
就会跳到左边,ctrl + l
就会跳到右边
语法高亮插件
https://github.com/nvim-treesitter/nvim-treesitter
plugins/plugins.lua
1 | use { |
:w
保存
新建 plugins/treesitter.lua
官方示例
1 | require'nvim-treesitter.configs'.setup { |
水友使用示例
1 | local status, treesitter = pcall(require, "nvim-treesitter.configs") |
修改入口文件init.lua
添加
1 | require("plugins.treesitter") |
括号不同颜色
https://github.com/p00f/nvim-ts-rainbow
plugins/plugins.lua
1 | use 'nvim-ts-rainbow', |
:w
保存
新建 plugins/rainbow.lua
1 | require("nvim-treesitter.configs").setup { |
修改入口文件init.lua
添加
1 | require("plugins.rainbow") |
自动补全括号或者引号等
https://github.com/windwp/nvim-autopairs
plugins/plugins.lua
1 | use 'windwp/nvim-autopairs', |
:w
保存
新建 plugins/autopairs.lua
1 | local npairs = require("nvim-autopairs") |
修改入口文件init.lua
添加
1 | require("plugins.autopairs") |
语法提示相关
plugins/plugins.lua
1 | use { |
:w
保存
新建 plugins/lsp.lua
1 | require("mason").setup({ |
保存退出
再进入这个文件,输入 :Mason
打开面板
输入 /
+ 你要搜索的语言
,定位到那一行,然后按 i
,就会去安装了(比如 /java
)
修改入口文件init.lua
添加
1 | require("plugins.lsp") |
自动补全
plugins/plugins.lua
1 | use "hrsh7th/cmp-nvim-lsp" |
:w
保存
新建 plugins/cmp.lua
(相关内容可以到网上搜寻)
1 | ``` |
多标签页,文件缓冲
plugins/plugins.lua
1 | use "akinsho/bufferline.nvim" |
:w
保存
新建 plugins/bufferline.lua
1 | vim.opt.termguicolors = true |
修改入口文件init.lua
添加
1 | require("plugins.bufferline") |
改键,使得标签页可以切换
user/keymaps.lua
1 | -- 老板键,空格键 |
文件搜索
plugins/plugins.lua
1 | use { |
:w
保存
新建 plugins/telescope.lua
1 | local builtin = require('telescope.builtin') |
修改入口文件init.lua
添加
1 | require("plugins.telescope") |
使用 空格 + ff
,即可搜索文件