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

编辑切换为居中

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

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

编辑切换为居中

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

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

编辑切换为居中

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

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

编辑切换为居中

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

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

编辑切换为居中

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

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

编辑切换为居中

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

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

编辑切换为居中

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

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

编辑切换为居中

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

写在最后

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

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

Done.

Neovim开发Golang示例相关推荐

  1. Neovim开发环境搭建(2021.07.01)

    Neovim开发环境搭建(2021.07.01) 一.搭建环境 Ubuntu 21.04 Neovim 0.4.4 二.Neovim安装 # 下载 neovim,如遇网络问题可以采用 https:// ...

  2. 微信公众号api关注接口php,微信公众平台接口开发入门示例

    本文实例讲述了微信公众平台接口开发入门示例.分享给大家供大家参考.具体如下: 微信公众平台的接口开发是一个现在比较常用的功能了,很多的人都会去了解一下微信公众平台一些简单开发应用,这里就来给大家介绍一 ...

  3. 公众号分享页面php,微信公众号网页分享功能开发的示例代码

    现在每天都可以看到很多微信分享的链接上面有网站或者商家的自定义的分享标题,和分享链接的描述及分享出去的图像,例如下面的分享出去的链接: 上面这个是微信的js-SDK页面分享给微信好友在聊天列表中显示的 ...

  4. Java版AVG游戏开发入门示例 3 ——脚本引擎的制作及应用

    源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...

  5. Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用

    源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...

  6. vue前端开发demo示例

    vue前端开发demo示例 目录 vue前端开发demo示例 系统结构 js部分 界面部分 界面 系统结构 js部分 代码如下(示例): import request from '@/utils/re ...

  7. 爱上开源之golang入门至实战-使用IDE开发Golang

    使用IDE开发Golang 上一节,使用文本编辑器,我们开启了golang之旅,除了通过文本编辑器的方式来进行程序开发,我们还可以通过使用golang的集成开发环境工具(IDE)来进行更高效率,更快速 ...

  8. 单团队敏捷开发项目管理示例

    概述 单团队敏捷开发主要是针对10人以下.只有一个Scrum团队的小型产品或项目的敏捷开发. 对于小型团队来说,在Leangoo中创建一个单团队敏捷开发项目就可以很好地支持团队产品或项目的开发. 适用 ...

  9. android 开发jni,示例:hello-jni

    本示例将引导您开发一个使用 NDK 构建的超小 C/C++ 应用 hello-jni.本示例位于 NDK 示例代码库的 hello-jni 目录下的 android-mk 分支中. Android.m ...

最新文章

  1. java测试不成功_为什么我的Java布尔测试总是失败?
  2. 一份邀请函引发的中国芯片新猜想
  3. C语言实现拓扑排序topological sort算法(附完整源码)
  4. 项目奖金一般有多少_全年一次性奖金如何进行纳税筹划?
  5. JVM学习笔记之-方法区,栈、堆、方法区的交互关系,方法区的理解,设置方法区大小与OOM,方法区的内部结构,方法区使用举例
  6. 938. 二叉搜索树的范围和
  7. oracle 安装时的日志文件,oracle10g安装的日志文件 Oracle10g怎么查看操作日志
  8. Android源码:1、如何下载源码详解(一)
  9. win10 Matlab2017a .m相关文件关联
  10. 2019最新《网易云课堂C++开发工程师案例-网吧收银系统(MFC+ADO)》
  11. 自适应PID控制基本概念及常用自适应算法
  12. EndNote X8参考文献样式下载与自定义
  13. flutter 如何判断页面渲染完毕
  14. 找树左下角的值+路径总和+从前序和中序遍历序列构造二叉树(day18*)
  15. 北斗通讯协议4.0 java_北斗4.0协议解析.doc
  16. 通过CSS3的hover一个元素使其兄弟元素也相应改变某种属性
  17. math_基本初等函数图型(幂函数/指数/对数/三角/反三角)
  18. 开发日记之linux杀进程与挂进程去后台运行
  19. MindMapper中如何添加备注
  20. JAVA 接口 验证哥特巴赫猜想

热门文章

  1. python基础——100多个Python挑战性编程练习
  2. 铁轨问题(超详细讲解)
  3. 1.3.5 手写数字识别之资源配置
  4. vector中的push_back(涉及到动态分配),resize,reserve,swap方法解析
  5. 电池模型simulink仿真
  6. 高速公路预制梁场建设案例(附方案文本)
  7. BTMの比原链节点搭建
  8. 吴乙己的数仓指南_5.1维度建模技巧之SCD2类型缓慢变化维搭建
  9. 蓝牙智能升降桌解决方案介绍
  10. simulink 示波器波形隐藏设置