Git Product home page Git Product logo

dotneovim's Introduction

简介

dotneovim 是一种利用 git 管理 Neovim 配置及插件的方式。 本项目使用了纯 Lua 脚本配置 noevim,并借助 LSP,实现了可扩展的多语言开发环境。 以下为 golang 的开发环境示例:

neovim DAP sample

本项目要求使用 neovim 0.6.0+, 添加或更新插件时需要执行:

:PlugUpdate

必备工具

为获得最佳使用效果,请安装以下命令工具:

  • ripgrep -- 用于 telescope 插件的 live grep
  • dlv -- golang debugger
  • jq -- Powerful JSON CLI processor
  • fd -- Simpler and faster alternative to find

可使用 homebrew 安装 ripgrep, gh, jq :

brew install ripgrep gh jq

本项目使用的部分 LSP 插件,比如 bashls,dockerls 使用了 WebAssembly 技术, 需要用 17.3.0 以上版本 node。

MacOS X 及 Unix 安装方法

请使用以下命令将 dotvim 克隆到本地

git clone https://github.com/schnell18/dotneovim ~/.neovim

然后请创建符号链接,指向 home 目录下的.vim/vimrc 文件:

ln -s ~/.neovim ~/.config/nvim

LSP 服务器安装与配置

本项目使用的 LSP 服务器均为 nvim-lsp-installer 管理。 如需安装你所需的 LSP 插件,请在 neovim 中运行:LspInstallInfo命令。 然后在弹窗中选择你所需插件并按i按键。安装完成后还需在~/.config/nvim/lua 目录下创建 lspxxx(xxx 为 LSP 插件的名称) 的目录,该目录下创建一个名为init.lua的文件, 其中包含:

_M = {}

function _M.enrich(config)

  return config

end

return _M

如果 LSP 插件不正常,可以通过查看~/.cache/nvim/lsp.log文件进行排错。

Plugin installed

本项目采用 plug 管理插件,以下是预装的插件清单:

  • tpope/vim-sensible
  • sainnhe/edge
  • neovim/nvim-lspconfig
  • williamboman/nvim-lsp-installer
  • nvim-lua/completion-nvim
  • SirVer/ultisnips
  • honza/vim-snippets
  • nvim-lua/popup.nvim
  • nvim-lua/plenary.nvim
  • nvim-telescope/telescope.nvim
  • nvim-treesitter/nvim-treesitter
  • nvim-treesitter/playground
  • kyazdani42/nvim-web-devicons
  • kyazdani42/nvim-tree.lua
  • glepnir/galaxyline.nvim
  • nvim-telescope/telescope-dap.nvim
  • mfussenegger/nvim-dap
  • rcarriga/nvim-dap-ui
  • theHamsta/nvim-dap-virtual-text
  • mfussenegger/nvim-dap-python
  • pwntester/octo.nvim
  • tpope/vim-commentary
  • tpope/vim-repeat
  • godlygeek/tabular
  • hotoo/pangu.vim
  • glepnir/dashboard-nvim
  • folke/which-key.nvim
  • romgrk/barbar.nvim
  • folke/todo-comments.nvim
  • folke/trouble.nvim
  • ray-x/guihua.lua
  • ray-x/navigator.lua
  • onsails/lspkind-nvim
  • hashivim/vim-terraform
  • vim-test/vim-test
  • rcarriga/vim-ultest
  • preservim/vimux

dotneovim's People

Contributors

schnell18 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.