ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Neovim开发Golang示例

2022-01-25 10:01:24  阅读:281  来源: 互联网

标签:Neovim 注释 插件 140 示例 vim Golang lua nvim


TL;DR

github仓库:https://github.com/AGou-ops/dotfiles

个人博客:https://agou-ops.cn

主流三种配置结构对比

  • 纯vim-script:局限性较高,可配置项少,适合轻度玩家;
  • 纯lua:使用packer来进行插件管理,可配置项多,十分灵活,但没点lua基础的人用起来有点懵,比如我,适合高端玩家;
  • vim-script + lua:我个人推荐使用这种配置方式,使用vim-plug来进行插件管理,几乎所有的neovim插件都可以用vim-plug来安装,而且插件列表内容要比packer更加简洁客观,结合了lua,可配置项又大大提升,用起来很是方便;
  • 一个文件完事的玩家:vim-script里直接使用标签来运行lua相关配置,不推荐,lua插件多的话会让你的配置文件变得复杂,不好维护。

文件目录结构及说明

目录结构及说明:

> tree
.
├── custom.vim                              # 自定义的一些vim-script配置
├── debug-template                      # vim-vimspector插件模板目录(用于debug)
│   └── go-template                     # debug golang的模板
├── general.vim                             # 一般设置
├── init.vim                                    # 初始化配置文件(主要)
├── keymaps.vim                             # 键盘映射配置文件,大部分是通用的键盘映射配置,不包含插件的键盘映射
├── lua                                             # -- lua配置 ---
│   └── AGou                                    # 配置文件命名空间,在init.vim中引进
│       ├── init.lua                    # 命名空间lua配置主入口文件
│       ├── lsp.lua
│       ├── nvim-autopairs.lua
│       ├── nvim-bufferline.lua
│       ├── nvim-cmp.lua
│       ├── nvim-diffview.lua
│       ├── nvim-gitsigns.lua
│       ├── nvim-lsp-installer.lua
│       ├── nvim-lspsaga.lua
│       ├── nvim-lualine.lua
│       ├── nvim-neoscroll.lua
│       ├── nvim-session-manager.lua
│       ├── nvim-signature.lua
│       ├── nvim-telescope.lua
│       ├── nvim-todo-comments.lua
│       ├── nvim-toggleterm.lua
│       ├── nvim-transparent.lua
│       ├── nvim-tree.lua
│       ├── nvim-treesitter.lua
│       └── nvim-whichkey.lua
├── push.sh
├── push2GitHub.sh                  # push到github的脚本
├── sessions                                # 会话管理器的数据存放目录
│   └── %usr%share%dict.vim
└── shpy-autoheader.vim         # 自动文件头部的vim-script

截图部分

只介绍几个常用的(实际不止这些):

  • 分屏,两个垂直分屏,一个水平分屏,左边nvim-tree,下面状态栏分别为lualine和tmux的menu bar

img

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • 悬浮终端,可直接在neovim中弹出终端进行使用,无需关闭或挂起neovim,或者在命令行模式运行,非常方便

img

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • 悬浮lazygit,很好用的一个终端git工具,tui可视化可进行快速提交推送拉取等等操作

img

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • Golang lsp智能提示,可显示函数签名以及一些相关的注释信息

img

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • 快速重命名函数,改变一处函数名称,可以自动改变其相关地方的名称

img

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • 文件内快速查找,快速查找当前光标下所出现的词

img

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • 悬浮函数定义,弹出悬浮窗来显示当前光标下的函数定义,使用gd命令可以直接跳转到函数的定义文件中

img

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • lsp,自动将报错信息打印到行尾,右边为tagbar,可以显示函数和变量等目录树

img

编辑切换为居中

添加图片注释,不超过 140 字(可选)

写在最后

https://github.com/AGou-ops/dotfiles

如果大家觉得不错的话,可以点个star⭐️分享给更多人.

Done.

标签:Neovim,注释,插件,140,示例,vim,Golang,lua,nvim
来源: https://blog.csdn.net/qq_18376369/article/details/122679572

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有