quintin-lee / NVCode

neovim 配置

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NVCode

The Neovim configuration to achieve the power of Modern IDE

Stargazers Made with lua Minimum neovim version forks Issues

界面预览

特性

  • Fully written in lua
  • Easy to install
  • Format on save
  • Autocompletion
  • Uses neovim's native lsp
  • Support c/c++, shell, python, lua, java, rust
  • Support c/c++ Debug

1. 依赖

  • neovim > 0.9
  • patched font (see nerd fonts)
  • translate-shell
  • lazygit
  • clangd
  • bash-language-server
  • pyright
  • go
  • gopls
  • npm
  • ripgrep
  • fd
  • fzf
  • lua-language-server
  • vscode-cpp-tools
  • cmake-language-server
  • jdtls
  • rust-analyzer
  • xsel
  • zathura
  • noto-fonts-emoji
  • noto-color-emoji-fontconfig-no-binding
  • bito cli

2. manjaro/archlinux 系统安装

2.1 安装 neovim 软件

sudo pacman -S neovim
sudo ln -sf /usr/bin/nvim /usr/local/bin/vi
sudo ln -sf /usr/bin/nvim /usr/local/bin/vim

2.2 安装依赖

sudo pacman -S make
sudo pacman -S translate-shell
sudo pacman -S lazygit
sudo pacman -S bash-language-server
sudo pacman -S pyright
sudo pacman -S lua-language-server
sudo pacman -S go
sudo pacman -S gopls
sudo pacman -S npm
sudo pacman -S ripgrep
sudo pacman -S fd
sudo pacman -S fzf
sudo pacman -S unzip
sudo pacman -S xsel
sudo pacman -S zathura
sudo pacman -S noto-fonts-emoji --noconfirm
sudo pacman -S rust-analyzer
yay -S jdtls
yay -S noto-color-emoji-fontconfig-no-binding

pip install cmake-language-server

## 安装 vscode-cpp-tools 用于 debug c/cpp
wget https://github.com/microsoft/vscode-cpptools/releases/download/v1.10.8/cpptools-linux.vsix
mkdir vscode-cpptools
pushd vscode-cpptools
unzip ../cpptools-linux.vsix
popd
mv vscode-cpptools ~/.local/
chmod +x  ~/.local/vscode-cpptools/extension/debugAdapters/bin/OpenDebugAD7

2.3 安装插件

git clone https://github.com/quintin-lee/NVCode.git ~/.config/nvim
nvim


### 如果 LspInstall gopls 无法拉取则,设置代理
# 报错信息:spawn: go failed with no exit code. go is not executable
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

2.4 安装 Nerd 字体

Nerd 字体: https://github.com/ryanoasis/nerd-fonts.git
推荐 JetBrainsMono 字体

cd ~/.config/nvim
bash install_fonts.sh

3. Docker

quintinlee/neovim 是 NVCode 基于 archlinux 的docker镜像,无需安装 NVCode,即可快速体验 NVCode 带来的快乐

docker run -it quintinlee/neovim

4. 插件列表

插件名 插件地址 备注
lazy https://github.com/folke/lazy.nvim 插件管理器
DAPInstall https://github.com/ravenxrz/DAPInstall.nvim debuggers 管理
LuaSnip https://github.com/L3MON4D3/LuaSnip
bufferline https://github.com/akinsho/bufferline.nvim buffer 栏
cmp-cmdline https://github.com/hrsh7th/cmp-cmdline
cmp-nvim-lsp https://github.com/hrsh7th/cmp-nvim-lsp
cmp-path https://github.com/hrsh7th/cmp-path
cmp_luasnip https://github.com/saadparwaiz1/cmp_luasnip
completion https://github.com/nvim-lua/completion-nvim 自动补全
dashboard https://github.com/glepnir/dashboard-nvim 启动页
diffview https://github.com/sindrets/diffview.nvim git diff
dressing https://github.com/stevearc/dressing.nvim 优化 tui
filetype https://github.com/nathom/filetype.nvim 优化启动
FTerm https://github.com/numToStr/FTerm.nvim 浮动终端
git-blame-virt https://github.com/robert-oleynik/git-blame-virt.nvim 显示 git blame
gitsigns https://github.com/lewis6991/gitsigns.nvim 显示 git 文件变更
impatient https://github.com/lewis6991/impatient.nvim 优化启动
indent-blankline https://github.com/lukas-reineke/indent-blankline.nvim 对齐线
lazygit https://github.com/kdheepak/lazygit.nvim lazygit
lualine https://github.com/nvim-lualine/lualine.nvim 状态栏
neogen https://github.com/danymat/neogen 生成注释
nightfox https://github.com/EdenEast/nightfox.nvim 主题
nlua https://github.com/tjdevries/nlua.nvim
nvim-cmp https://github.com/hrsh7th/nvim-cmp
nvim-code-action-menu https://github.com/weilbith/nvim-code-action-menu
nvim-comment https://github.com/terrortylor/nvim-comment Toggle comments
nvim-dap https://github.com/mfussenegger/nvim-dap 调试插件
nvim-dap-python https://github.com/mfussenegger/nvim-dap-python
nvim-dap-ui https://github.com/rcarriga/nvim-dap-ui
nvim-dap-virtual-text https://github.com/theHamsta/nvim-dap-virtual-text
nvim-lsp-installer https://github.com/williamboman/nvim-lsp-installer
nvim-lspconfig https://github.com/neovim/nvim-lspconfig lsp 客户端
nvim-tree https://github.com/kyazdani42/nvim-tree.lua 文件树
nvim-treesitter https://github.com/nvim-treesitter/nvim-treesitter 语法高亮增强
nvim-web-devicons https://github.com/kyazdani42/nvim-web-devicons 文字图标
onedark https://github.com/navarasu/onedark.nvim 主题
plenary https://github.com/nvim-lua/plenary.nvim
rest https://github.com/NTBBloodbath/rest.nvim REST 客户端
sessions https://github.com/natecraddock/sessions.nvim session 管理
smart-pairs https://github.com/ZhiyuanLck/smart-pairs 智能括号
sqlite https://github.com/tami5/sqlite.lua
symbols-outline https://github.com/simrat39/symbols-outline.nvim 大纲
telescope-file-browser https://github.com/nvim-telescope/telescope-file-browser.nvim 文件浏览
telescope-frecency https://github.com/nvim-telescope/telescope-frecency.nvim 搜索最近访问文件
telescope-fzf-native https://github.com/nvim-telescope/telescope-fzf-native.nvim
telescope https://github.com/nvim-telescope/telescope.nvim 搜索插件
telescope-symbols https://github.com/nvim-telescope/telescope-symbols.nvim 搜索字符图标
telescope-gitmoji https://github.com/olacin/telescope-gitmoji.nvim 支持 gitmoji
todo-comments https://github.com/folke/todo-comments.nvim TODO 注释高亮
translate https://github.com/translate.nvim 翻译
vim-illuminate https://github.com/RRethy/vim-illuminate 高亮光标下的词
which-key https://github.com/folke/which-key.nvim 快捷键绑定
workspaces https://github.com/natecraddock/workspaces.nvim 工作空间管理
nvim-bqf https://github.com/kevinhwang91/nvim-bqf 优化 quickfix 窗口
openscad.nvim https://github.com/salkin-mada/openscad.nvim 支持 openscad 语法
vim-bitoai https://github.com/zhenyangze/vim-bitoai.git Plugin for Bito Using Bito CLI
leap.nvim https://github.com/ggandor/leap.nvim 光标跳转插件

5. 参考

awesome neovim

About

neovim 配置

License:Apache License 2.0


Languages

Language:Lua 91.4%Language:Shell 8.5%Language:Python 0.1%